Hace tiempo Xt3mP realizo este codigo para obtener IPs de gente que entraba a la web, no con un fin malicioso, sino con el fin de saber quien atacaba en caso de un DOS.
Este codigo a demas de capturar la ip, le añadi tambien para guardar fecha y hora, para identificar la ip en caso de un ataque.
El codigo inicial era el siguietne:
<?php if ($_SERVER) { if ( $_SERVER["HTTP_X_FORWARDED_FOR"] ) { $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } elseif ( $_SERVER["HTTP_CLIENT_IP"] ) { $realip = $_SERVER["HTTP_CLIENT_IP"]; } else { $realip = $_SERVER["REMOTE_ADDR"]; } } else { if ( getenv( "HTTP_X_FORWARDED_FOR" ) ) { $realip = getenv( "HTTP_X_FORWARDED_FOR" ); } elseif ( getenv( "HTTP_CLIENT_IP" ) ) { $realip = getenv( "HTTP_CLIENT_IP" ); } else { $realip = getenv( "REMOTE_ADDR" ); } }
$f = fopen("log.txt","a");
fwrite($f, $realip. PHP_EOL);
fwrite($f, "===================". PHP_EOL);
fclose($f);
?>
Se puede mejorar y mucho, tiene ya su tiempo el codigo. Se añade en el index, se le da permiso de escritura, ya que almacena todo en un *.TXT
Este codigo debe ir acompañado de un archivo de texto como bien dije antes, llamado "log.txt"
Aca les dejo el codigo modificado para capturar fecha y hora:
<?php
if ($_SERVER) { if ( $_SERVER["HTTP_X_FORWARDED_FOR"] ) { $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } elseif ( $_SERVER["HTTP_CLIENT_IP"] ) { $realip = $_SERVER["HTTP_CLIENT_IP"]; } else { $realip = $_SERVER["REMOTE_ADDR"]; } } else { if ( getenv( "HTTP_X_FORWARDED_FOR" ) ) { $realip = getenv( "HTTP_X_FORWARDED_FOR" ); } elseif ( getenv( "HTTP_CLIENT_IP" ) ) { $realip = getenv( "HTTP_CLIENT_IP" ); } else { $realip = getenv( "REMOTE_ADDR" ); } }
$f = fopen("log.txt","a");
fwrite($f, $realip. PHP_EOL);
fwrite($f, date('l jS \of F Y h:i:S A'));
fwrite($f, "\r\n======================================". PHP_EOL);
fclose($f);
?>
El log se veria de la siguiente manera:
190.xxx.x.xxx
Friday 23rd of December 2011 12:41:rd PM
========================================
66.xxx.xxx.xxx
Friday 23rd of December 2011 12:43:rd PM
========================================
186.xxx.xx.xx
Friday 23rd of December 2011 12:43:rd PM
========================================
xxx.xxx.x.226
Friday 23rd of December 2011 12:44:rd PM
========================================
Por motivos obvios oculte las ips.
Xt3mp hizo una nueva modificacion del codigo dejandolo mas prolijo:
<?php
$ip = $_SERVER['REMOTE_ADDR']; //IP
$meses = array('enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'); //Meses
$nombre = 'logs'; //Nombre de archivo
$dia = date('d'); //Dia
$mes = date('m') - 1; //Mes
$ano = date('Y'); //Año
$hora = date('h:i:s'); //Hora
$file = fopen($nombre.'.txt', 'a+'); //Abrimos archivo
fwrite($file, 'La IP '.$ip.' accedio el '.$dia.' de '.$meses[$mes].' del '.$ano.' a las '.$hora."\r\n"); //Guardamos información
fclose($file);//Cerramos archivo
?>
La IP 127.0.0.1 accedio el 23 de diciembre del 2011 a las 08:01:29
La IP 127.0.0.1 accedio el 23 de diciembre del 2011 a las 08:01:29
La IP 127.0.0.1 accedio el 23 de diciembre del 2011 a las 08:01:29
Espero que les sirva!
ANTRAX
exelente ANTRAX gracias por tus aportes me encanto :D
gracias, utilisimo, saludos