Страниц (4): « 1 2 [3] 4 » |
|
Описание: Переменные для ссылки куда перешёл и откуда... |
Поиск в теме | Версия для печати |
awep |
Отправлено: 26 Ноября, 2007 - 01:26:20
|
Наш человек
Покинул форум
Сообщений всего: 304
Дата рег-ции: Дек. 2005
Откуда: Казань
Карма 6
|
раельно ботов можно вычислить только по HTTP_USER_AGENT, и то не всегда, т.к. маскироваться могут.
Вот список из ExBB FM:
CODE:$spiders = array(
'Aport',
'archive_org',
'TurtleScanner',
'Nutscrape',
'WebSpeedReader',
'StackRambler',
'NetCaptor',
'Bond',
'Wget',
'Space Bison',
'msnbot',
'Yahoo',
'Mediapartners-Google',
'Googlebot',
'Yahoo-MMCrawler',
'Google',
'Slurp',
'ZyBorg',
'Gigabot',
'Exabot',
'Yandex',
'WebAlta',
'WebCrawler'
);
То есть проверяешь, если в $_SERVER['HTTP_USER_AGENT'] одно из этих значений, то это - бот. |
|
|
glaberzu |
Отправлено: 26 Ноября, 2007 - 05:06:36
|
Археолог
Покинул форум
Сообщений всего: 13
Дата рег-ции: Нояб. 2007
Карма 0
|
Alone
ВНимательно читай. Где он только что был определяется одном движением по ЮРИ (REQUEST_URI). А приходит он всегда из одного места - своего головного сайта (гугла, яндекса и т.д.) и прямо на твой сайт.
Для особо ленивых весь скрипт:
CODE:
if (strstr($_SERVER['HTTP_USER_AGENT'], 'Yandex')){ $bot='Yandex';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'Googlebot')){$bot='Google';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'Slurp')){$bot='Hot Bot search';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'WebCrawler')){$bot='WebCrawler search';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'ZyBorg')){$bot='Wisenut search';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'google')){$bot='Google';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'scooter')){$bot='AltaVista';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'StackRambler')){$bot='Rambler';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'aport')){$bot='Aport';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'lycos')){$bot='Lycos';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'yahoo')){$bot='Yahoo';}
if($bot !=""){
$b_data = "bots.dat";
$inf = date("YmdHis",time());
$day = date("d.m.Y",time());
$time = date("H:i",time());
$ip = $REMOTE_ADDR;
$home = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$data = fopen($b_data, "a");
fwrite($data, "$inf|$day|$time|$bot|$ip|$home|\r\n");
fclose($data);
}
В bots.dat имеем всю поднаготную по каждому боту. $home - где сидит (ходит, что запросил).(Отредактировано автором: 26 Ноября, 2007 - 05:11:22) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (4): « 1 2 [3] 4 » |
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0) |
« PHP/Perl » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|