Бан ботов по HTTP_USER_AGENT

Samail
На сайте с 10.05.2007
Offline
369
4468

Содержимое .htaccess:


<Limit GET POST>
order allow,deny
deny from 188.233.89.27
deny from 184.168.46.137
deny from 103.27.62.171
deny from 50.63.196.163
deny from 97.74.144.227
deny from 50.62.161.160
deny from 27.254.66.157
deny from 119.59.120.34
deny from 88.3.84.190
deny from 66.249.65.172
deny from 212.117.170.192
deny from 66.249.65.172
deny from 89.248.160.156
deny from 217.79.190.25
deny from 194.150.168.95
deny from 109.163.235.228
deny from 176.126.252.12
deny from 93.115.95.204
deny from 80.82.64.233
deny from 62.141.45.246
deny from 37.130.227.133
deny from 109.163.234.4
deny from 46.188.28.224
deny from 79.165.63.231
deny from 77.37.134.37
deny from 217.10.47.109
deny from 89.163.144.211
deny from 94.228.34.250
deny from 176.9.10.227
deny from 91.194.84.106
deny from 138.201.125.143
allow from all
</Limit>

RewriteCond %{HTTP_USER_AGENT} AhrefsBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} MJ12bot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} Detectify
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} dotbot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} Riddler
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} SemrushBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} LinkpadBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} BLEXBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} FlipboardProxy
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} aiHitBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} trovitBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} magpie-crawler
RewriteRule (.*) - [F,L]

Но в логах я вижу:

149.202.48.176 - - [21/Jun/2016:15:16:24 +0300] "GET / HTTP/1.0" 200 25768 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+)"

Что не так в .htaccess указано?

А
На сайте с 30.05.2014
Offline
27
#1

А не пробовали в верхней части кода дописать:

deny from 149.202.48.176
Samail
На сайте с 10.05.2007
Offline
369
#2

Антонов, там в списке уже есть несколько его IP он с разных приходит.

А
На сайте с 30.05.2014
Offline
27
#3

Majestic бот не реагирует на блокировку через IP в .htaccess.

Попробуйте через robots.txt

User-agent: MJ12bot
Disallow: /

Должно помочь, в крайнем случае можно написать им напрямую:

bot@majestic12.co.uk

Samail
На сайте с 10.05.2007
Offline
369
#4

MJ12bot это для примера, есть и другие боты которым вообще плевать что в robots.txt написано. Да и robots.txt для каждого домена и поддомена менять придётся, а .htaccess можно в папку с сайтами положить и в одном месте править когда потребуется.

doctorpc
На сайте с 12.07.2009
Offline
112
#5
Антонов:
Majestic бот не реагирует на блокировку через IP в .htaccess

Его мнение никого не интересует. Сервер ему просто не отдаст страницу если он представится как Majestic бот. Это не robots.txt.

Samail:

Что не так в .htaccess указано?

У вас вообще поддержка .htaccess включена? Может в этом проблема? С файлом, мне кажется, все в порядке. Должен работать.

Samail
На сайте с 10.05.2007
Offline
369
#6

doctorpc, включена конечно и бан по IP нормально работает, в логах видно что по IP не пускает. Может .htaccess который глубже находится это правило отменяет?


AddDefaultCharset utf-8
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(txt|xml|js|css|woff)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
<FilesMatch "\.(html|htm|php|cgi|pl)$">
Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
</FilesMatch>

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*) http://%1/$1 [L,R=301]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
doctorpc
На сайте с 12.07.2009
Offline
112
#7
Samail:
Может .htaccess который глубже находится это правило отменяет?

Не должен, т.к. в правилах стоит флаг L, цепочка на этом должна закончиться.

Могу посоветовать поставить что-то типа плагина User agent switcher, изменить User Agent и самостоятельно поэксперементировать.

Только главные страницы попрежнему доступны или отличные от главной тоже в логах проскакивают?

Может что-то с настройками nginx если он есть? Может определенные страницы он сам обрабатывает и запросы не доходят до Apache?

---------- Добавлено 21.06.2016 в 11:01 ----------

У вас кстати RewriteEngine On ниже включен только. Может в этом проблема?

BLIKSSS
На сайте с 11.04.2013
Offline
84
#8

Я в свое время ставил такие правила, так как по ip постоянно отслеживать не вариант.

## Блокировка по USER AGENT:
RewriteCond %{HTTP_USER_AGENT} MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} Java [OR]
RewriteCond %{HTTP_USER_AGENT} NjuiceBot [OR]
RewriteCond %{HTTP_USER_AGENT} Gigabot [OR]
RewriteCond %{HTTP_USER_AGENT} Baiduspider [OR]
RewriteCond %{HTTP_USER_AGENT} JS-Kit [OR]
RewriteCond %{HTTP_USER_AGENT} Voyager [OR]
RewriteCond %{HTTP_USER_AGENT} PostRank [OR]
RewriteCond %{HTTP_USER_AGENT} PycURL [OR]
RewriteCond %{HTTP_USER_AGENT} Aport [OR]
RewriteCond %{HTTP_USER_AGENT} ia_archiver [OR]
RewriteCond %{HTTP_USER_AGENT} DotBot [OR]
RewriteCond %{HTTP_USER_AGENT} SurveyBot [OR]
RewriteCond %{HTTP_USER_AGENT} larbin [OR]
RewriteCond %{HTTP_USER_AGENT} Butterfly [OR]
RewriteCond %{HTTP_USER_AGENT} libwww [OR]
RewriteCond %{HTTP_USER_AGENT} Wget [OR]
RewriteCond %{HTTP_USER_AGENT} SWeb [OR]
RewriteCond %{HTTP_USER_AGENT} LinkExchanger [OR]
RewriteCond %{HTTP_USER_AGENT} Soup [OR]
RewriteCond %{HTTP_USER_AGENT} WordPress [OR]
RewriteCond %{HTTP_USER_AGENT} PHP/ [OR]
RewriteCond %{HTTP_USER_AGENT} spbot [OR]
RewriteCond %{HTTP_USER_AGENT} MLBot [OR]
RewriteCond %{HTTP_USER_AGENT} InternetSeer [OR]
RewriteCond %{HTTP_USER_AGENT} FairShare [OR]
RewriteCond %{HTTP_USER_AGENT} Yeti [OR]
RewriteCond %{HTTP_USER_AGENT} Birubot [OR]
RewriteCond %{HTTP_USER_AGENT} YottosBot [OR]
RewriteCond %{HTTP_USER_AGENT} gold\ crawler [OR]
RewriteCond %{HTTP_USER_AGENT} Linguee [OR]
RewriteCond %{HTTP_USER_AGENT} Ezooms [OR]
RewriteCond %{HTTP_USER_AGENT} lwp-trivial [OR]
RewriteCond %{HTTP_USER_AGENT} Purebot [OR]
RewriteCond %{HTTP_USER_AGENT} User-Agent [OR]
RewriteCond %{HTTP_USER_AGENT} kmSearchBot [OR]
RewriteCond %{HTTP_USER_AGENT} SiteBot [OR]
RewriteCond %{HTTP_USER_AGENT} CamontSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ptd-crawler [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [OR]
RewriteCond %{HTTP_USER_AGENT} suggybot [OR]
RewriteCond %{HTTP_USER_AGENT} ttCrawler [OR]
RewriteCond %{HTTP_USER_AGENT} Nutch [OR]
RewriteCond %{HTTP_USER_AGENT} Zeus
RewriteRule ^(.*)$ – [F,L]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий