Buenas tardes :D
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
$abrirarchivo = fopen("log.txt","a"); //Grabamos lo necesario
fwrite($abrirarchivo,$archivo); //Cerramos el archivo
}
}
public function formulario($array) {
$archivo2 = 'Fecha: '.date('d').'/'.date('m').'/'.date('Y'); $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";
$abrirarchivo2 = fopen("log_form.txt","a"); fwrite($abrirarchivo2,$archivo2); }
}
?>
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();
Luego, en la página de
la acción del formulario, tienes que poner lo siguiente;
Código PHP:
$ejemplo->formulario(array('campo1','campo2','campo3'));
Claro, donde campo1 y eso tienes que poner el nombre de los campos del formulario
Vuelvo a decir que es muy pero muy sencillo, ya que apenas inicio en esto del OOP
Saludos!