Маленький фильтр роботов
Я сделал вот так:
Код:
#проверяем юзер-агент пользователя
$user_agent = $_SERVER['HTTP_USER_AGENT'];
#масив поисковиков
$arr = array('yandex', 'yahoo', 'google', 'msn', 'stackrambler', 'gigabot', 'websense', 'webalta');
#определяем число элементом в масиве
$count = count($arr);
for ($i = 0; $i < $count; $i++) {
if(strpos(strtolower($user_agent), $arr[$i]) == TRUE) {
echo $err_page;
exit();
}
}
$user_agent = $_SERVER['HTTP_USER_AGENT'];
#масив поисковиков
$arr = array('yandex', 'yahoo', 'google', 'msn', 'stackrambler', 'gigabot', 'websense', 'webalta');
#определяем число элементом в масиве
$count = count($arr);
for ($i = 0; $i < $count; $i++) {
if(strpos(strtolower($user_agent), $arr[$i]) == TRUE) {
echo $err_page;
exit();
}
}
Я пытался оптимизировать код путём
Код:
for ($i=0, $max = sizeof($count), $s = ''; $i < $max; $i++) {
но тогда не работает. Подскажите, что можно сделать?
Цитата:
$count = count($arr);
sizeof($count)
sizeof($count)
Мощь.
Советую так же проверять на пустой USER-AGENT
А возможно даже наоборот.
Пропускать содержащий "Mozilla", "Opera", ну и что там у Safari с Конквером. Остальных мочить.
Цитата: NetWork
Появилась необходимость создать небольшой код который будет показывать ошибку если сайт открывает робот.
Зачем такой изврат? Если вы хотите сделать спец версии страниц под поисковики спешу вас разочаровать - таких умников поисковики стали помещать в черные списки еще в дремучих 1999-2000 годах
Просто иногда когда на сайтах покупают рекламу клиент не хочет, чтобы реклама показывалась для роботов. Ну если конечно продавать не по дням, а по кол-ву показов. ВОт и, чтобы сократить число роботов нужен этот код.
Скажите клиенту, что сделали защиту. Вам то как раз выгоднее наоборот :)
Про robots.txt знаем, но нужно было немного другое. Хотя я уже сделал всё, что было нужно.
бот не индексирует все то что находится в нем!
Цитата: Tingo
а про тег <NOINDEX> не слышали??
бот не индексирует все то что находится в нем!
бот не индексирует все то что находится в нем!
ДА мне не индексацию нужно запретить. :) Ладно проехали
Используй регулярные выражения. Думаю с ними намного быстрее будет.