Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как определить бота?
 
 автор: Shorr Kan   (18.06.2005 в 05:39)   письмо автору
 
 

Единственная мысль, которая у меня есть, это регистронезависимый поиск в строке user_agent... Но вот поиск чего - понятия не имею. Да и как лучше (надежнее) осуществить этот регистронезависимый поиск? Например substr_count ? Но и проверить-то никак - я же не бот...

   
 
 автор: Ziq   (18.06.2005 в 07:10)   письмо автору
 
   для: Shorr Kan   (18.06.2005 в 05:39)
 

На самом деле, все зависит от того какого бота надо определить. Если это программа-качалка, то в 90% случаев это сделать невозможно. Если же это поисковый робот, то это можно сделать так:

if(substr($HTTP_USER_AGENT,0,6) == "Yandex") $os = 6;

Вроде все, если надо для больших поисковых систем пиши, а может я не так что-то понял. Пример из книги "Самоучитель PHP 5".

   
 
 автор: Shorr Kan   (18.06.2005 в 13:09)   письмо автору
 
   для: Ziq   (18.06.2005 в 07:10)
 

Собственно, любых ботов. Раз нельзя качалки, значит пусть хоть поисковики... и какие там еще есть. Яндекс - понятно... остальные - нет. Только мне кажется, что это ненадежное определение... ведь не обязательно Yandex будет написано первыми символами...

   
 
 автор: cheops   (18.06.2005 в 14:30)   письмо автору
 
   для: Shorr Kan   (18.06.2005 в 13:09)
 

Yandex всегда так пишет.

   
 
 автор: Shorr Kan   (21.06.2005 в 22:28)   письмо автору
 
   для: cheops   (18.06.2005 в 14:30)
 

А как пишут google, yahoo, и msn ? Как их определить? Ведь у них по несколько роботов, как я понял... Как они все называются?

Кстати, и верно ли я понял, что у роботов в начале НЕ Mozilla висит? Mozilla, как я понял - только у людей.

   
 
 автор: JIEXA   (21.06.2005 в 22:45)   письмо автору
 
   для: Shorr Kan   (21.06.2005 в 22:28)
 


<?
if(substr($_SERVER['HTTP_USER_AGENT'], 012) == "StackRambler"$os 'robot_rambler';
if(
substr($_SERVER['HTTP_USER_AGENT'], 09) == "Googlebot")     $os 'robot_google';
if(
substr($_SERVER['HTTP_USER_AGENT'], 06) == "Yandex")        $os 'robot_yandex';
if(
substr($_SERVER['HTTP_USER_AGENT'], 05) == "Aport")         $os 'robot_aport';
if(
substr($_SERVER['HTTP_USER_AGENT'], 06) == "msnbot")        $os 'robot_msnbot';
?>

   
 
 автор: Shorr Kan   (21.06.2005 в 22:49)   письмо автору
 
   для: JIEXA   (21.06.2005 в 22:45)
 

Понятно. Ну а чтоб лишний раз никого не дергать - может где-то есть списочек юзерагентов ботов?

   
 
 автор: cheops   (22.06.2005 в 00:10)   письмо автору
 
   для: Shorr Kan   (21.06.2005 в 22:49)
 

Посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4563

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования