Блокировать по useragent или пустому рефереру

Незнакомый бот (GbPlugin) кодифицирует URL-адреса изображений и вызывает ошибку 404.
Я попытался заблокировать бота безуспешно с этим в нижней части моего .htaccess, но это не сработало.

Options +FollowSymlinks  
RewriteEngine On  
RewriteBase /  
RewriteEngine on  
RewriteCond %{HTTP_REFERER} !^$  
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]  
RewriteCond %{HTTP_USER_AGENT} ^GbPlugin [NC]  
RewriteRule .* - [F,L]     

Журнал это ниже.

201.26.16.9 - - [10/Sep/2011:00:06:05 -0300] "GET /wp%2Dcontent/themes/my_theme%2Dpremium/scripts/timthumb.php%3Fsrc%3Dhttp%3A%2F%2Fwww.example.com%2Fwp%2Dcontent%2Fuploads%2F2011%2F08%2Fmy_image_name.jpg%26w%3D100%26h%3D65%26zc%3D1%26q%3D100 HTTP/1.1" 404 1047 "-" "GbPlugin"

Извините за ошибки в языке

24
задан 13.05.2020, 08:47

2 ответа

Вот что вы можете поместить в ваш файл .htaccess

Options +FollowSymlinks  
RewriteEngine On  
RewriteBase /  
SetEnvIfNoCase Referer "^$" bad_user
SetEnvIfNoCase User-Agent "^GbPlugin" bad_user
SetEnvIfNoCase User-Agent "^Wget" bad_user
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_user
SetEnvIfNoCase User-Agent "^EmailWolf" bad_user
SetEnvIfNoCase User-Agent "^libwww-perl" bad_user
Deny from env=bad_user

Это вернет:

HTTP request sent, awaiting response... 403 Forbidden
2011-09-10 11:15:48 ERROR 403: Forbidden.
25
ответ дан 13.05.2020, 08:47
  • 1
    Хорошо, спасибо. Загрузка теперь. Я сообщу результату. Vera – Vera 13.05.2020, 08:47
  • 2
    Легкое легкое для тестирования должно использовать wget. Это что возврат, сказанный когда я wget мой сайт. – Book Of Zeus 13.05.2020, 08:48
  • 3
    Эта строка доступы блоков через Facebbok внешний хит: 5092 "-" "facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)", useragent пуст. Я удалил эту строку и тестирующий снова – Vera 13.05.2020, 08:48
  • 4
    Извините, forgert строка SetEnvIfNoCase Referer " $ ^ " bad_user – Vera 13.05.2020, 08:49
  • 5
    Таким образом, если Вы удаляете " SetEnvIfNoCase Referer " $ ^ " bad_user" it' s работа? – Book Of Zeus 13.05.2020, 08:49

Чтобы заблокировать пустые рефереры, вы можете использовать следующее правило:

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^$
RewriteRule ^ - [F,L]

Это запретит все запросы на ваш сайт, если значение HTTP_REFERER пусто ^$.

Для блокировки пользовательских агентов вы можете использовать

RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} opera|firebox|foo|bar [NC]
RewriteRule ^ - [F,L]

Это запретит все запросы к вашему сайту, если HTTP_USER_AGENT соответствует шаблону Условий.

0
ответ дан 13.05.2020, 08:48
  • 1
    Любопытно, for(;;) deparses как while(1) также. – brian d foy 05.01.2020, 09:27

Теги

Похожие вопросы