elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Firma dinámica [Castg] - Depurado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Firma dinámica [Castg] - Depurado  (Leído 4,274 veces)
Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Firma dinámica [Castg] - Depurado
« en: 11 Marzo 2012, 08:40 am »

Estaba (sigo estando) muy aburrido, me puse a navegar por el foro en mis viejos mensajes, y encontre el tema sobre la firma dinamica que habia hecho hace ya un par de años. En ese entonces yo pensaba sobre la programación de forma muy distinta.

Con esto no quiero decir que ahora soy un super programador de ASM, sino que leí mucho más de programación y depuración (No mucho igual :D) y arregle un poco el código para que quede más bonito y no tarde tanto en cargar. Además, estuve mucho tiempo ausente en el foro, y agregaron un botón de Google Plus y tuve que modificar la expresión regular.

Asi que puse manos a la obra y reactive mi vieja firma que tenía bastante empolvada.

Acá les dejo el código como siempre por cualquier interesado, los datos de imagen de fondo y tipografía utilizada estan en el post que nombré con anterioridad.

Principalmente cambié los formatos de imágenes, antes usaba PNG y tardaba muchisimo, ahora con estos cambios, en vez de recibir un PNG de 51KB, es un JPEG de 15KB con una resolución media, lo suficientemente agradable a los ojos.

Acá el código:

Código
  1. <?php
  2. header('Content-type: image/jpeg');
  3. if(!empty($_COOKIE['firmaid'])){
  4. $id=$_COOKIE['firmaid'];
  5. }else{
  6. $post = preg_match('/^.+<td align="center" class="smalltext"><g\:plusone size="small"><\/g\:plusone><a href="http\:\/\/foro\.elhacker\.net\/profiles\/([a-z0-9]+\-u([0-9]+)).html".+/', str_replace("\n" , '', file_get_contents(getenv('HTTP_REFERER'))), $res);
  7. $id=(count($res)>=3)?$res[2]:false;
  8. }
  9. $perfil = file_get_contents('http://foro.elhacker.net/index.php?&action=.xml;sa=profile;u='.$id);
  10. $perfil = preg_replace('/[\n\t\r]+/' , '', $perfil);
  11. $nick = preg_replace('/.*<name><!\[CDATA\[(.*)\]\]><\/name>.*/', 'Hola $1!', $perfil);
  12. $lugar = preg_replace('/.*<location><!\[CDATA\[(.*)\]\]><\/location>.*/', 'Sos de $1.', $perfil);
  13. $edad = preg_replace('/.*<age>(.*)<\/age>.*/', 'Tenes $1 años.', $perfil);
  14. $posts = preg_replace('/.*<posts>(.*)<\/posts>.*/', 'Escribiste $1 posts.', $perfil);
  15. $userAgent= strtolower($_SERVER['HTTP_USER_AGENT']);
  16. $navegador = preg_replace('/.*(firefox|msie|opera|netscape|safari|chrome|epiphany|galeon|iceape|icewease|kazehakasel|konqueror|minefield|seamonkey|shiretoko|avant|lock|k\-meleon|minefield|navigator).*/', '$1', $userAgent);
  17. $sistema = preg_replace('/.*(windows|mac|linux).*/', '$1', $userAgent);
  18. $agent = ($navegador!=$userAgent && $sistema!=$userAgent) ? "Usas $navegador desde $sistema." : '';
  19. if($lugar==$perfil){ $lugar = 'Ubicacion no definida'; }
  20. if($edad==$perfil){ $edad = 'Edad no definida'; }
  21. if($nick!=$perfil){
  22. if(empty($_COOKIE['id'])){ setcookie('firma',$id,time()+315360000); }
  23. $mensaje = "$nick\n\n  $posts\n  $lugar\n  $edad\n  Tu ip es {$_SERVER['REMOTE_ADDR']}.\n  $agent";
  24. }else{
  25. $mensaje = "    Tu ip es: {$_SERVER['REMOTE_ADDR']}\n\n  Para descubrir más de mis\npoderes, mirame en un post\ndonde Castg! comente." ;
  26. }
  27. $im = imagecreatefromjpeg('firma-perfil.jpg');
  28. $blanco = imagecolorallocate($im, 255,255,255);
  29. $negro = imagecolorallocate($im, 0,0,0);
  30. $fuente = './persansb.ttf';
  31. $puntosTexto = imagettfbbox(12, 0, $fuente, $mensaje);
  32. $tamanioTexto = array();
  33. $tamanioTexto['x'] = $puntosTexto[2] - $puntosTexto[6];
  34. $tamanioTexto['y'] = $puntosTexto[3] - $puntosTexto[7];
  35. $xtexto = (imagesx($im) - $tamanioTexto['x']) / 2 ;
  36. $ytexto = ((imagesy($im) - $tamanioTexto['y']) / 2) + imagefontheight($fuente) ;
  37. imagettftext($im, 12, 0, $xtexto, $ytexto, $blanco, $fuente, $mensaje);
  38. imagejpeg($im,NULL,90);
  39. ?>


Nos vimos!


En línea

Og.


Desconectado Desconectado

Mensajes: 822


Aprendiendo de la vida


Ver Perfil
Re: Firma dinámica [Castg] - Depurado
« Respuesta #1 en: 31 Marzo 2012, 11:20 am »

Que tiempos, cuando hice eso sirdarkcat me mando un aviso por que andaba duplicando requests y en esos tiempos no conocía o me daba flojera manejar cache jajaja

Somos de masomenos la misma generación de elhacker.

Saludos!


En línea

|-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Creacion de firma dinamica
PHP
GreatSaiyan 1 5,277 Último mensaje 2 Octubre 2004, 04:52 am
por Azielito
Firma dinamica por Castg! Observa tus datos automaticamente! « 1 2 ... 7 8 »
PHP
Castg! 71 26,533 Último mensaje 21 Abril 2010, 22:36 pm
por Castg!
Firma dinamica Castg! version 1.1 [PHP]
PHP
Castg! 0 2,544 Último mensaje 19 Enero 2011, 00:36 am
por Castg!
Ayuda con Firma dinamica « 1 2 »
PHP
SabaLero0_ 19 8,945 Último mensaje 22 Abril 2011, 02:44 am
por Castg!
Firma dinámica (Detección ip real y Sistema operativo) PHP
PHP
el-brujo 0 2,833 Último mensaje 16 Mayo 2012, 11:40 am
por el-brujo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines