Antes que nada les cuento que tengo 13 años (bueno, a 2 meses de los 14 :P) y ya estoy en esto del mundo del PHP, pero ahora quise aprender un poquito más sobre la OOP (POO) :P
Como voy aprendiendo, se me ocurrió hacer un pequeño aporte e hice un script muy pero muy sencillo..
Qué hace? Simplemente guarda en "log.txt" una serie de datos cuando se accede por ejemplo a pagina.php?lala=lala (por ejemplo)..
Cómo lo hace? Con "$_SERVER['QUERY_STRING']"
Qué otros datos guarda? Guarda la fecha, qué puso después de "?", cómo resultaría la URL y la IP del visitante...
Qué mas hace? Guarda también un log (en un archivo aparte) de lo que se introduzca en algún formulario ^^
Para que todo esto? Asi podemos saber quien intenta "hackear" de cierta forma mediante ?= y podemos saber tambien quien intenta hacernos xss injection
A continuación dejo el código y luego el cómo usarlo;
Código PHP:
Ver original
<?php class LogHack { //Funcion que se auto-ejecute public function __construct() { //Asignamos variable a CUALQUIER cosa despues de "?" y asignamos variable //a la IP que nos visita $query_string = $_SERVER['QUERY_STRING']; $ip_visitante = $_SERVER['REMOTE_ADDR']; //Si $query_string no esta vacia, lo metemos en el log if ($query_string) { $archivo.= "\r\n"; $archivo.= 'Puso: '.$query_string; $archivo.= "\r\n"; $archivo.= 'URL Resultante: '.$_SERVER['REQUEST_URI']; $archivo.= "\r\n"; $archivo.= 'IP: '.$ip_visitante; $archivo.= "\r\n\r\n---------------------------------\r\n\r\n"; //Abrimos el archivo //Grabamos lo necesario //Cerramos el archivo } } public function formulario($array) { $archivo2.= "\r\n"; $archivo2.= 'IP: '.$_SERVER['REMOTE_ADDR']."\r\n"; foreach ($array as $arrayForeach) { $archivo2.= 'Campo '.$arrayForeach.': '.$_POST[$arrayForeach]."\r\n"; } $archivo2.= "\r\n\r\n-----------------------------------------\r\n\r\n"; } } ?>
Su uso es muy sencillo, así como lo es el código
Tienes que incluir el archivo que puse arriba en todas las páginas que quieras hacer log de "?" y de los formularios
Después, tienes que iniciar la clase;
Código PHP:
$ejemplo = new LogHack();
Código PHP:
$ejemplo->formulario(array('campo1','campo2','campo3'));
Vuelvo a decir que es muy pero muy sencillo, ya que apenas inicio en esto del OOP
Saludos!