динамический 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]

С некоторыми настройками, вы можете сделать это черный список.