динамический IP.htaccess в черный список?
можно ли заблокировать пользователей от IP-адресов с помощью динамического блок-листа на основе файлов?
Итак, предположим, что .htaccess выглядит так:
order Deny,Allow
Deny from 123.156.0.1
Deny from 10.0.0.10
Allow from all
можно ли сделать этот список динамическим, например:
order Deny,Allow
[include Deny list here]
Allow from all
другим вариантом, конечно, было бы исправить это с помощью PHP, но предпочтительнее позволить Apache справиться с этим.
2 ответов
По словам Apache docs, похоже, невозможно прочитать значения из текстового файла.
однако, вы могли бы include
файл конфигурации, содержащий IP-адреса. Однако они должны быть в формате файла conf Apache.
Это должно работать:
order Deny,Allow
include conf/IPList.conf
Allow from all
можно include
все каталоги, хотя это не рекомендуется.
Я использую RewriteMap характеристика от RewriteModule Апач, а список такой:
## WHITELIST IPS ##
RewriteMap ipslist txt:/path/to/whitelist.txt
RewriteCond %{REMOTE_ADDR} ^(.*)$
RewriteCond ${ipslist:%1|black} ^black$ [NC]
RewriteRule (.*) - [F]
С некоторыми настройками, вы можете сделать это черный список.