AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )

> Внимание!

Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.


 
Ответить в данную темуНачать новую тему
> Идентификация поисковых ботов, Подскажите, как?
wizard993
сообщение Jul 26 2011, 17:22
Сообщение #1


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 68
Регистрация:
29.1.2008
Из: Кубинка-8
Пользователь №: 2,152
Спасибо сказали: 10

Вставить ник




Народ, подскажите, пожалуйста. Как CMS'ки (к примеру тот же AntiSlaed) идентифицируют поисковых ботов? Как система понимает, что вот этот юзер - совсем не юзер, а поисковая машина? Интересен сам алгоритм.

Читал где-то в интернете, вроде даже на хабре, что можно по юзер-агенту определять. Однако, есть сведения, что это не всегда работает. (Не для всех ботов)

P.S. и ещё, если можно, скажите в каком направлении рыть. Где в AS / KiVi / Eleanor код, отвечающий за эту проверку?

Сообщение отредактировал wizard993: Jul 26 2011, 17:25
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Sunvas
сообщение Jul 26 2011, 20:20
Сообщение #2


Фэнат Stamina-ы
Иконка группы

Группа: Разработчики
Сообщений: 2,470
Регистрация:
6.7.2007
Из: (-: Украина :-)
Пользователь №: 268
Спасибо сказали: 992

Вставить ник




ЦИТАТА(wizard993 @ Сегодня, 18:22 )
Читал где-то в интернете, вроде даже на хабре, что можно по юзер-агенту определять. Однако, есть сведения, что это не всегда работает. (Не для всех ботов)

Определять можно только по заголовкам браузера, т.е. юзер_агенту. Да, работает не всегда, потому что у поисковиков есть простукивалки, которые маскируются под обычные браузеры и определяют, не сделан ли выглядит ли сайт для посиковиков и для людей по-разному. В Eleanor CMS код находится в файле core/core.php (Альфа версия) искать код:

КОД
        elseif(self::$vars['bots_enable'] and $ua)
            foreach(self::$vars['bots_list'] as $k=>&$v)
                if(stripos($_SERVER['HTTP_USER_AGENT'],$k)!==false)
                {
                    $n=self::$is_bot=$v;
                    break;
                }
Sunvas, Вас 1 раз(а) поблагодарили за это сообщение:
wizard993
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
wizard993
сообщение Jul 26 2011, 20:31
Сообщение #3


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 68
Регистрация:
29.1.2008
Из: Кубинка-8
Пользователь №: 2,152
Спасибо сказали: 10

Вставить ник




Sunvas, огромное спасибо!!!

Буду теперь разбираться в принципе работы.

Уже видел этот участок кода, но подумал, что возможно где-то ещё есть код.

КОД
$vars=array(#Переменные, взятые из конфига.
            //...
            'bots_list'=>'',
        ),


А сюда список ботов заносится? Если да, то откуда? Что за конфиг имеется ввиду? Ведь в генерале просто прописаны настройки подключения к БД ну и ещё несколько системных атрибутов.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение

Ответить в данную темуНачать новую тему

2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
 

RSS Текстовая версия Сейчас: 25 November 2024 - 11:47
Хостинг предоставлен NetLevel.Ru   Eleanor CMS