Убийство ботов через .htaccess (+дополнения)

Сервер выдаёт ошибку 500, причины:
1. Неверный синтаксис .htaccess
2. .htaccess записан в формате Windows, а должен быть записан в формате UNIX, сменить редактор

В каталоге разрешён допуск только одному ip, остальные в бане.
Order Deny,Allow
Deny from all
Allow from 84.216.203.46

301 редирект
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.maksis.ru$ [NC]
RewriteRule ^(.*)$ https://maksis.ru/$1 [R=301,L]

Бан по User Agent, показывает учтённым 403 ошибку
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/403.php$
RewriteCond %{HTTP_USER_AGENT} .*Slurp.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Twiceler.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*WebAlta.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*ia_archiver.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*msnbot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Teleport\sPro.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*WebCopier.* [OR]
RewriteRule .* /403.php [F]

Просматривая логи очень часто можно наткнуться на бота Yahoo, пользы от этого поисковика ни какой для владельцев русскоязычных ресурсов, за то оптимизаторам счастья, можно палить ссылки, ладно хоть трафик приносил хоть какой нибудь, но 0.4 — 0.6 % от общего потока посетителей — это не дело, получается, что бот только ресурсы жрёт впустую. Решил отправить в баню Yahoo и его друга MSN.

Понадеялся, что эти поисковики правильные и не будут игнорировать указанные для них правила в robots.txt:

User-agent: Slurp
Disallow: /

User-agent: msnbot
Disallow: /

Но оказалось, что Yahoo не успокоился и по прежнему продолжал рыскать по страницам сайта на котором его по идее не должно было быть. Пришлось подойти более координально к этому вопросу, использовать возможности apache а именно .htaccess. Теперь с его помощью буду банить злодев по User Agent, вот это волшебное правило:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/403.php$
RewriteCond %{HTTP_USER_AGENT} .*Slurp.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Ask\sJeeves.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*HP\sWeb\sPrintSmart.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*HTTrack.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*IDBot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Indy\sLibrary.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*ListChecker.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*MSIECrawler.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*NetCache.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Nutch.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*RPT-HTTPClient.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*rulinki\.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Twiceler.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*WebAlta.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Webster\sPro.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*www\.cys\.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Wysigot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Yeti.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Accoona.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*CazoodleBot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*CFNetwork.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*ConveraCrawler.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*DISCo.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Download\sMaster.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*FAST\sMetaWeb\sCrawler.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Flexum\sspider$ [OR]
RewriteCond %{HTTP_USER_AGENT} .*Gigabot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*HTMLParser.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*ia_archiver.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*ichiro.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*IRLbot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Java.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*km\.ru\sbot$ [OR]
RewriteCond %{HTTP_USER_AGENT} .*kmSearchBot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*libwww-perl.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Lupa\.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*LWP::Simple.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*lwp-trivial.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Missigua.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*MJ12bot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*msnbot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*msnbot-media.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Offline\sExplorer.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*OmniExplorer_Bot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*PEAR.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*psbot.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Python.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*rulinki\.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*SMILE.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Speedy.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Teleport\sPro.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*TurtleScanner.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*voyager.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Webalta.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*WebCopier.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*WebData.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*WebZIP.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Wget.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Yanga.* [OR]
RewriteCond %{HTTP_USER_AGENT} .*Yeti.*
RewriteRule .* /403.php [F]

Как видите список расширенный, вы можете удалить некоторых ботов если они вам нужны. По идее должно помочь, если конечно правила правильно написаны, ради интереса добавлял правило, чтобы банить пользователей с FireFox:

RewriteCond %{HTTP_USER_AGENT} .*Firefox.* [OR]

Сработало, через FireFox не пустил с Opera и IE всё нормально можно было просматривать сайт. Если не сработает, отпишусь.

http://ryoga.ru/hosting/62/
http://ryoga.ru/htaccess

1 комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


один × пять =