Como hacer las imagenes que ponen ip, navegador...

Para esto necesitaremos un servidor HTTP ( como apache ) y PHP, las dos cosas es lo tipico que se encuentra en un hosting gratuito ( aqui hay una lista )

Si lo vamos a alojar nosotros mismos necesitaremos habilitar el paquete php-gd para esto edita el php.ini, descomenta la linea de ";extension=php_gd2.dll" (quitale el ';'... en algunos casos es un '#') En debian/ubuntu se hace con "sudo apt-get install php5-gd"

Vamos alla...

Buscamos una imagen, la imagen sera la base, conviene que sea lo mas uniforme posible para que quede bien, yo escogí esta, aun que no sea la mas apropiada

Preparamos el codigo en PHP

El siguiente codigo es el que escribira en la imagen <?php

// Escrito por Kenkeiras

function navegador($ua){ //  Devuelve el navegador ...bastante simple ;)

$nav="";

if (strstr($ua,"Firefox"))

$nav="Firefox";

elseif (strstr($ua,"MSIE 6"))

$nav="IExplorer 6";

elseif (strstr($ua,"MSIE 7"))

$nav="IExplorer 7";

elseif (strstr($ua,"MSIE 8"))

$nav="IExplorer 8";

elseif (strstr($ua,"Opera"))

$nav="Opera";

elseif (strstr($ua,"Safari"))

$nav="Safari";

return $nav;

}

function os($ua){ // lo mismo, pero para el SO

$os="";

if (strstr($ua,"Linux"))

$os="Linux";

elseif (strstr($ua,"Windows"))

$os="Windows";

elseif (strstr($ua,"Mac"))

$os="Mac";

return $os;

}

$back="esfera.png";   //Imagen de fondo

$img=imagecreatefrompng($back);   //Se crea la imagen  (desde un png)

$fcolor=ImageColorAllocate($img,255,120,0); //  El color de las letras ($img,r,g,b)

// Ejemplo: ImageString ($img,Tamaño de letra,Longitud,Altura,"Texto",$fcolor);

$ip=$_SERVER['REMOTE_ADDR'];  // La ip esta en la variable $_SERVER['REMOTE_ADDR']

ImageString($img,5,65,75,"IP: $ip",$fcolor); //  Escribimos la IP en la imagen

$lang=$_SERVER['HTTP_ACCEPT_LANGUAGE'];

$i=stripos($lang,";");

if ($i)

$lang=substr($lang,0,$i);

if ($lang!="")

ImageString($img,5,50,100,"Lenguaje: $lang",$fcolor);

$ua=$_SERVER['HTTP_USER_AGENT'];

$os=os($ua);

$nav=navegador($ua);

if ($nav!="")

ImageString($img,5,40,125,"Navegador: $nav",$fcolor);

if ($os!="")

ImageString($img,5,35,150,"Sistema Operativo: $os",$fcolor);

// ----------------

Header("Content-Type: image/png");  //  Avisamos que es una imagen png

ImagePNG($img);            //  Convertimos a png

// Si prefieres un JPEG cambia las dos ultimas lineas por

//Header("Content-Type: image/jpeg")

//ImageJPEG($img);

// ----------------

ImageDestroy($img);   // Liberamos el espacio

?>

Como funciona? (Para l@s que no les guste leer los comentarios del codigo)

Se usan dos funciones (navegador y os), que buscan en la cadena del "User- Agent", alguna parte conocida (Firefox, MSIE, etc...), y que devuelven el navegador y el sistema operativo del usuario

El resto es PHP,

$back="esfera.png"; //Imagen de fondo $img=imagecreatefrompng($back); //Se crea la imagen (desde un png)

Como indican los comentarios, la primera linea es saber donde esta la imagen base, la segunda es para importarla como PNG, tambien se puede hacer para jpg

imagecreatefromjpeg

o con gif

imagecreatefromgif

(aqui hay mas funciones parecidas: http://us3.php.net/manual- lookup.php?pattern=imageCreateFrom&lang=es)

$fcolor=ImageColorAllocate($img,255,120,0); // El color de las letras ($img,r,g,b)

Prepara el color de las letras en la imagen (recuerda que la imagen esta en $img), el color se asigna en rgb, de 0 a 255 (esta combinacion, "255,120,0", seria naranja)

$ip=$_SERVER['REMOTE_ADDR']; //La ip esta en la variable

Guarda la ip (que esta en la variable $_SERVER['REMOTE_ADDR'])

ImageString($img,5,65,75,"IP: $ip",$fcolor);

Escribe en la imagen, con tamaño de letra 5, desde el pixel 65 (horizontal) y el 75 (vertical), la cadena "IP: $ip",en el color $fcolor

El resto es hacer lo mismo con lo que nos interesa (lenguaje, navegador,etc...)

Y despues

Header("Content-Type: image/png"); // Avisamos que es una imagen png

Avisamos al navegador para que reconozca lo que viene ahora como una imagen png (si es jpg, habria que poner "image/png")

Y los dos ultimos pasos

ImagePNG($img); // Convertimos a png ImageDestroy($img); // Liberamos el espacio

Resultado:

Suerte y hasta otra

untagged

Un bot eliza para IRC » « Modificando `wardrive-android`