<?PHP
/*******************************
* Facebook Status Updater
* Christian Flickinger
* http://nexdot.net/blog
* April 20, 2007
*******************************/
$status = 'YOUR_STATUS';
$first_name = 'YOUR_FIRST_NAME';
$login_email = 'YOUR_LOGIN_EMAIL';
$login_pass = 'YOUR_PASSWORD';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?m&next=http%3A%2F%2Fm.facebook.com%2Fhome.php');
curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&login=Login');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_exec($ch);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, 'http://m.facebook.com/home.php');
$page = curl_exec($ch);
curl_setopt($ch, CURLOPT_POST, 1);
preg_match('/name="post_form_id" value="(.*)" \/>'.ucfirst($first_name).'/', $page, $form_id);
curl_setopt($ch, CURLOPT_POSTFIELDS,'post_form_id='.$form_id[1].'&status='.urlencode($status).'&update=Update');
curl_setopt($ch, CURLOPT_URL, 'http://m.facebook.com/home.php');
curl_exec($ch);
?>
Actualizar estado de facebook con PHP y Curl
Jueves, Diciembre 24th, 2009Como hacer un watermark con PHP
Martes, Octubre 27th, 2009Bueno ahora les enseñare como ponerle marcas de agua (WaterMark) a sus fotografias desde PHP.
Necesitamos : 1 Foto y 1 archivo PNG con su watermark
yo usare los siguientes materiales:
Foto

WaterMark

El Codigo php que hara la magia es:
<?php
$foto = "foto.jpg"; // Nuestra foto a la que le pondremos el watermark
$image = imagecreatefromstring(file_get_contents($foto));
$w = imagesx($image); // Obtenemos el ancho de la imagen
$h = imagesy($image); // Obtenemos la altura de la imagen
$watermark = imagecreatefrompng('watermark.png'); // nuestro watermark
$ww = imagesx($watermark); // Obtenemos el ancho del watermark
$wh = imagesy($watermark); // Obtenemos la altura del watermark
imagecopy($image, $watermark, $w-$ww, $h-$wh, 0, 0, $ww, $wh); // Copiamos el watermark a la imagen y la colocamos en la esquina inferior derecha
header('Content-type: image/jpeg'); // Hacemos que el header sea una imagen
imagejpeg($image); // Mostramos imagen + watermark
?>
Y el Resultado seria esto: (click para ver en tamaño real)
Tweets desde PHP
Martes, Octubre 27th, 2009
Usando una libreria Open Source llamada PHP Twitter les mostrare como mandar un Tweet desde php =)
<?php
include "twitter.php";
$twi_user = new Twitter("usuario","contraseña");
$tweet = "Hola - Tweet desde PHP";
$twi_user->updateStatus($tweet);
?>
asi de simple claro que pueden implementar un formularion para mandar mediante POST los Tweets eso ya es parte de su Creatividad
La Libreria la puedes descargr de Aqui
Evitar Inyeciones SQL en MySQL
Martes, Octubre 27th, 2009Les enseñare como evitar inyeciones sql es sus scripts PHP
veamos un ejemplo de consulta a MySQL mediante PHP
<?php
/*
Sdndiego.com SQL Injection
*/
// ----- CONFIG -------
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'injection';
// --------------------
$user = $_GET['id'];
if(empty($user)){
$user = 1;
}
$db = mysql_connect($host, $dbuser, $dbpass);
mysql_select_db($dbname,$db);
$sql = mysql_query("SELECT * FROM `users` WHERE id=".$user) or die (mysql_error());
$users = @mysql_fetch_row($sql);
echo "<h2><center><u>MySQL Injection TEST<br>Sdmdiego.com</u><br><br>";
echo "<font color='#FF0000'>user_id: </font>".$users[0]."<br>";
echo "<font color='#FF0000'>username: </font>".$users[1]."<br>";
echo "<font color='#FF0000'>country: </font>".$users[3]."<br>";
mysql_close($db);
?>
Atencion:
[…]
$user = $_GET['id'];
[…]
$sql = mysql_query("SELECT * FROM `users` WHERE id=".$user)or die (mysql_error());
[…]
Como podemos ver La variable $user no se modifica correctamente antes de ser utilizada en la
consulta, por lo que por esa variable podemos inyectar nuestro código
SQL malicioso.
index.php?id=1 and 1=1 …
y obtener datos de las tablas de la base de datos lo cual ningun webmaster quiere… para evitar dicha vulnerabilidad hagamos lo siguiente
Si el dato que esperamos en una variable es numérico, lo más rápido y sencillo
es hacer esto:
[…] $user = (int)$_GET['id']; […]
lo que hace es que si se introduce otro dato que no sea un numero no mostrara nada.
usando str_replace:
[…]
$user = $_GET['id'];
$user = str_replace("select","123456789",$user);
[…]
Si en la variable $user se encuentra la palabra “select”, lo sustituirá por
“123456789”, así el atacante no podrá realizar la consulta correctamente.
Podemos poner más expresiones regulares que detecten otras palabras
reservadas del lenguaje SQL.
Inspirado en el paper de un amigo {Ka0x}
Mostrar ip al vistante con PHP
Martes, Octubre 27th, 2009Este simple codigo mostrara al visitante su IP
<? $ip = $_SERVER['REMOTE_ADDR']; echo $ip; ?>
