Как сделать запрет apache htaccess по ip за некоторым исключением?

PS: Извините меня и будьте снисходительны с моим английским.

У меня есть ситуация, когда какой-то IP должен быть заблокирован, и лучший способ для этого на мой взгляд - htaccess. Потому что у меня много точек входа. Это легко и отлично работает...

Я делаю:

<Files *>
    Order allow,deny
    deny from aaa.aaa.aaa.aaa/aa
    deny from bbb.bbb.bbb.bbb/bb
    Allow from all
</Files>

НО! Там еще одна вещь. У меня есть несколько устройств, доступ к которым должен быть разрешен, даже если они проходят через отказавший IP.

Я не могу установить какой-то модуль для Apache. Поэтому мне нужен какой-то простой способ решить это.

Может кто-нибудь дать мне несколько способов или хитростей для этого?

1 ответ

Решение

Вам нужен какой-то способ идентификации этих устройств, затем вы можете добавить переменную среды, чтобы настроить исключение, и использовать управление доступом по переменной среды. Например, если вы можете сделать это через user-agent:

SetEnvIf User-Agent SpecialUA UAException=1
<Files *>
    Order allow,deny
    Allow from UAException=1
    Deny from aaa.aaa.aaa.aaa/aa
    Deny from bbb.bbb.bbb.bbb/bb
    Allow from all
</Files>

Смотрите также SetEnvIf. Я ссылаюсь на документы Apache 2.2, так как вы используете старый синтаксис, который был обновлен в 2.4.

Другие вопросы по тегам