Накидал быстро полный скрипт.
Создаем на сервере пхп-файл, в него кидаем:
Код:
<?
@error_reporting(0);
if (isset($_GET['agent']) && !empty($_GET['agent'])) {
$agents = array();
$agents[] = array('name' => 'Google', 'search' => 'google');
$agents[] = array('name' => 'Yahoo', 'search' => 'yahoo');
if (is_array($agents)) {
foreach ($agents as $agent) {
if (preg_match('/'. $agent['search'] .'/i', urldecode($_GET['agent']))) {
$f = @fopen("./bots.txt", "a");
@flock($f, LOCK_EX);
@set_file_buffer($f, 0);
@fwrite($f, date("Y-m-d H:i:s") . " - ". $agent['name'] ." - ". $_SERVER["HTTP_REFERER"] ."\n"); // Записываем в файл
@fflush($f);
@flock($f, LOCK_UN);
@fclose($f);
}
}
}
}
header("Content-type: image/gif");
$im = imagecreate(1, 1);
$white = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $white);
imagegif($im);
imagedestroy($im);
?>
создаем рядом файл bots.txt, в который всё будет писаться. Даем права на запись. Можно любой другой файл и подправить эту строку в скрипте.
Можно добавить свои юзер-агенты для записи, значение name - то что запишется в файл, значение search - подстрока для поиска в юзер-агенте.
Подключаем на страницу строкой вида:
Код:
<img src="http://domain.com/script.php?agent=<?=urlencode($HTTP_USER_AGENT);?>" width="0" height="0" />
В итоге, в файлике bots.txt получаем, что-то вроде:
2009-02-07 16:51:20 - Google -
http://domain.com/bots_trap.html
2009-02-07 16:54:03 - Yahoo -
http://domain.com/bots_trap.html
Где
http://domain.com/bots_trap.html - это страничка, с которой была вызвана картинка-скрипт.