HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Как лучше отсеивать поисковых роботов?
  #1  
Старый 11.02.2009, 11:59
inlanger
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
С нами: 10179806

Репутация: 702


Question Как лучше отсеивать поисковых роботов?

Нужно показывать поисковым бота немного другой контент... Как определить, что посетитель сайт - поисковый бот?
 
Ответить с цитированием

  #2  
Старый 11.02.2009, 13:05
Trieg
Познающий
Регистрация: 26.10.2007
Сообщений: 83
С нами: 9758702

Репутация: 50
По умолчанию

либо по диапазону его IP (имхо это гавно метод) а второй вариант по юзер агенту

PHP код:
function SpiderDetect() {
    
$engines = array(
        array(
'Google''Google Bot'),
        array(
'Gsa-crawler''Google Bot'),
        array(
'Yandex''Yandex Bot'),
        array(
'YaDirectBot''Yandex Direct Bot'),
        array(
'Yahoo''Yahoo Bot'),
        array(
'Rambler''Rambler Bot'),
        array(
'msn''MSN Bot'),
        array(
'Gigabot''Giga Bot'),
        array(
'Aport''Aport Bot'),
        array(
'Lycos''Lycos Bot'),
        array(
'FAST-WebCrawler''WebCrawler Bot'),
        array(
'Mail.Ru''Mail.Ru Bot'),
        array(
'IDBot''ID-Search Bot'),
        array(
'eStyle''eStyle Bot'),
        array(
'AbachoBOT''Abacho Bot'),
        array(
'accoona''Accoona Bot'),
        array(
'AcoiRobot''Acoi Bot'),
        array(
'ASPSeek''ASPSeek Bot'),
        array(
'CrocCrawler''CrocCrawler Bot'),
        array(
'Dumbot''Dumbot Bot'),
        array(
'GeonaBot''Geona Bot'),
        array(
'MSRBOT''MSR Bot'),
        array(
'Scooter''Altavista Bot'),
        array(
'AltaVista''Altavista Bot'),
        array(
'WebAlta''WebAlta Bot'),
        array(
'Scrubby''Scrubby Bot'),
        array(
'Slurp''Slurp Bot'),
        array(
'ia_archiver''IA.Archiver Bot'),
        array(
'Baiduspider''Baidu.com'),
        array(
'oBot''oBot'),
        array(
'Speedy Spider''EntireWeb Bot'),
        array(
'Speedy_Spider''EntireWeb Bot'),
        array(
'Teoma''Ask Bot'),
        array(
'Binky''libwww.Binky Bot'),
        array(
'amaya''libwww.amaya Bot'),
        array(
'Webgate''libwww.Webgate Bot'),
        array(
'W3C_Validator''libwww.W3C Validator Bot'),
        array(
'libwww''libwww.nothing Bot'),
        array(
'What You Seek''WhatYouSeek Bot'),
        
////////////////////////////////////////////////////////
        
array('Offline Explorer''Offline Explorer Bot'),
        array(
'Teleport''Teleport Bot'),
    );

    foreach (
$engines as $engine) {
        if (
stristr($_SERVER['HTTP_USER_AGENT'], $engine[0])) {
            return(
$engine[1]);
        }
    }

    return 
false;

ет тока набросок и то не мой.. за исключение списка ботов (я его начал делать но не успел проверить все до конца + многих не хватает)
 
Ответить с цитированием

  #3  
Старый 11.02.2009, 13:11
Sharky
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
С нами: 10541186

Репутация: 921


По умолчанию

по UserAgent

http://devaka.ru/articles/list-of-search-bots например

PHP код:
if (strstr($user_agent getenv("HTTP_USER_AGENT");, "Yandex"))   $robot "Яндекс"
 
Ответить с цитированием

  #4  
Старый 11.02.2009, 16:13
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
С нами: 9642449

Репутация: 606


По умолчанию

По юзер агенту - метод стар как мир, они заходят и под обычным юзер агентом...

Так что лучше делать gethostbyaddr(ip) и смотреть там вхождения на google, yahoo и прочее
 
Ответить с цитированием

  #5  
Старый 11.02.2009, 16:15
inlanger
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
С нами: 10179806

Репутация: 702


По умолчанию

Цитата:
и смотреть там вхождения на google, yahoo и прочее
а подробнее?
 
Ответить с цитированием

  #6  
Старый 11.02.2009, 16:17
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
С нами: 9642449

Репутация: 606


По умолчанию

ну что то типа того

<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

if(strstr($hostname,'google')){
echo $content1;
}else{
echo $content2;
}
?>
 
Ответить с цитированием

  #7  
Старый 11.02.2009, 17:20
Trieg
Познающий
Регистрация: 26.10.2007
Сообщений: 83
С нами: 9758702

Репутация: 50
По умолчанию

DNS детектирование согласен это более эффективно но и геморройней по ряду причин но если речь идет о клоакинге то игра стоит свечь но не стоит забывать о том что 100% метода определения поискового бота не существует в природе.

я думаю публике стоит знать зачем TC хочет отлавливать ботов.. тогда и можно будет подобрать самый оптимальный метод.

ЗЫ: на самом деле меня тоже волнует этот вопрос.. но мне это требуется только для сбора примерной статистики вот я и машинально предложил палить по юзер агенту
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BUDSF - Большой FAQ по использованию Dedicated Servers NemeZz Статьи 241 25.09.2012 15:59
Юмор. Анекдоты, смешные рассказы/логи. Mobile Болталка 1356 16.06.2010 16:46
Как стать хакером! foreva Болталка 19 12.12.2007 00:12



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.