Действительно ли возможно заблокировать пользователей от адресов 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 обработать это.
Согласно документации Apache , кажется, невозможно читать значения из текстового файла.
Однако вы можете включить
файл конфигурации, содержащий IP-адреса. Однако они должны быть в формате файла Apache conf.
Это должно сработать:
order Deny,Allow
include conf/IPList.conf
Allow from all
Можно даже включить
целых каталогов, хотя это не рекомендуется.
Я использую функцию RewriteMap из RewriteModule от Apache, как белый список, вот так:
## WHITELIST IPS ##
RewriteMap ipslist txt:/path/to/whitelist.txt
RewriteCond %{REMOTE_ADDR} ^(.*)$
RewriteCond ${ipslist:%1|black} ^black$ [NC]
RewriteRule (.*) - [F]
С некоторой доработкой, вы можете сделать это черным списком.