В Apache HTTP Server 2.4: Как ограничить доступ к спискам каталогов в некоторых диапазонах ip? Файлы должны публично загружаться через URL-адреса, но списки каталогов должны быть ограничены.Apache HTTP Server: Как ограничить доступ к спискам каталогов в некоторых диапазонах ip?
6
A
ответ
9
Это возможно с <If>
Expression.
Это ваш ВХост/конф:
<VirtualHost *:80>
DocumentRoot /var/www/html
Options -Indexes # disable listing
<If "%{REMOTE_ADDR} == '10.0.0.5'">
Options +Indexes # enable listing if ip matches
</If>
</VirtualHost>
<Directory /var/www/html>
Require all granted
</Directory>
протестировали его с Ubuntu Server и Windows, с Apache 2.4 - к сожалению, это не будет работать с более старыми версиями Apache.
Для IP диапазонов можно использовать другой способ для проверки IP:
<If "%{REMOTE_ADDR} -ipmatch '10.0.0.0/8'">
или более быстрый способ это с -R
:
<If "-R '192.168.0.0/16' || -R '10.0.248.0/24'">
+0
Спасибо за эту щедрость и за этот совет с помощью '-R' - документы говорят, что это также более эффективно. – CodeBrauer
это возможность блокировать индекс страниц для ряда ip? – VDP
Apache 2.2 или 2.4? –