Динамический IP-адрес .htaccess? - PullRequest
11 голосов
/ 02 июля 2010

Можно ли заблокировать пользователей по 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 ]

6 голосов
/ 02 июля 2010

Согласно Apache docs , кажется, что невозможно прочитать значения из текстового файла.

Однако вы можете include файл конфигурации, содержащий IP-адреса.Они должны быть в формате conf файла Apache.

Это должно работать:

order Deny,Allow
include conf/IPList.conf
Allow from all

Возможно даже include целых каталогов, даже если это не рекомендуется.

4 голосов
/ 05 июля 2010

Я использую функцию RewriteMap из Apache RewriteModule в качестве белого списка, подобного этому:

## WHITELIST IPS ##
RewriteMap ipslist txt:/path/to/whitelist.txt
RewriteCond %{REMOTE_ADDR} ^(.*)$
RewriteCond ${ipslist:%1|black} ^black$ [NC]
RewriteRule (.*) - [F]

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

...