#получаем время запроса и HTTP_REFERER
$now_string = localtime;
$ref = $ENV{'HTTP_REFERER'};
#читаем лог-файл в массив
open (LOG,"$LogFile") || die "Can't Open $LogFile: $!\n";
@LOGtext=<LOG>;
close (LOG);
#открываем на запись лог
open (LOG, ">$LogFile");
#сохраняем данные запроса
print LOG "[$now_string] IP=$ENV{'REMOTE_ADDR'} REFERER=$ref QUERY=$input\n";
#сохраняем остальные логи, так что бы длина лог-файла не превышала mlength
$counter=1;
foreach $LOGitem (@LOGtext)
{
if ($counter<$mlength){ print LOG "$LOGitem"; };
$counter++;
};
#закрываем лог
close (LOG);
exit;
1)С каким расширением его нужно сохранить?
2)И куда нужно положить(в папку www или в cgi или в другое место) чтобы он работал ?
3)Какой должен быть url до него(чтобы например при нажатии на него в логе был ip того кто нажал на ссылку)
Tikson,
1_имхо .pl
2_всё прописано в httpd.conf Configuration File,скорее в cgi ,что стоит попровавать запуститьб его из разных мест.
3_точно не знаю-говорить не буду.
p.s -кто то на Ачате писал отличное видео на тему денвера-советую глянуть.
Green_Bear,http://tvoy_ip/cgi-bin/s.pl точно торможу(
Tikson,да в чем прабла то.Пробни с .pl не получится с cgi.
Удачи.
проблема есть!
я положил исходник простого cgi-сниффера в папку C:\WebServers\home\test1.ru\cgi\image.pl
и на всякий случай сохранил еще как s.pl , image.cgi
и на уже установленном на локал хост двиге е107 создал тему в которой написал http://test1.ru/cgi/image.pl http://test1.ru/cgi/image.cgi http://test1.ru/cgi/s.pl
далее жму последвательно на эти три ссылки и не обнаруживаю лога, который поидее должен быть
Цитата:
#путь к лог-файлу
$LogFile="log.txt";
#максимальное число записей в лог-файле
$mlength=50;