Как сделать запрет 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.