Конфигурация htaccess для блокировки на агенте браузера

Конфигурация htaccess для блокировки в зависимости от агента браузера

, как противоположность этого кода делается?

например, запрещение ^. Chrome / 10 . $ entry

-1
задан 20 March 2019 в 14:59
1 ответ

Ответ, с которым вы связались, содержит следующий код:

RewriteCond %{HTTP_USER_AGENT} ^.*Chrome/10.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Firefox/4.*$
RewriteRule .* - [L]
RewriteRule .* http://example.com/browsererror.html [R,L]

Этот позволяет запросы от пользовательских агентов, которые соответствуют шаблону ^.*Chrome/10.*$ или ^.*Firefox/4.*$. Он делает это, по сути ничего не делая (- [L]), когда эти запросы попадают на ваш сайт и перенаправляются иначе.

Чтобы сделать абсолютно противоположное и заблокировать запросы от этих пользовательских агентов путем перенаправления, просто удалите второй RewriteRule и перенаправьте в первом:

RewriteCond %{HTTP_USER_AGENT} ^.*Chrome/10.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Firefox/4.*$
RewriteRule .* http://example.com/browsererror.html [R,L]

Однако, это не обязательно "лучший способ" заблокировать запросы от конкретных пользователей-агентов. Вместо того, чтобы использовать mod_rewrite, подумайте об использовании mod_setenvif и соответствующего модуля mod_authz... (в зависимости от того, работаете ли вы с Apache 2.2 или 2.4). И вместо перенаправления подавайте 403 Forbidden. Например:

0
ответ дан 5 December 2019 в 20:16

Теги

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