2015-06-30 13 views
6

Apache HTTP Sunucusunda 2.4: Dizin listelerine erişim bazı ip aralıklarına nasıl kısıtlanır? Dosyalar hala URL'lerden genel olarak indirilebilir olmalıdır, ancak dizin listeleri kısıtlanmalıdır.Apache HTTP Sunucusu: Dizin listelerine erişim bazı ip aralıklarına nasıl kısıtlanır?

+0

o endeksini bloke etmek bir seçenek IP için


o IP'yi kontrol için başka bir yol kullanmak mümkündür aralıkları ip aralığı için sayfalar? – VDP

+0

Apache 2.2 veya 2.4? –

cevap

9

Bu, <If> Expression ile mümkündür. ne yazık ki bu eski Apache sürümleri ile çalışmaz - Apache 2.4 ile Ubuntu Server ve Windows ile bunu test

<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> 

:

Bu

dinamik sanal konak/conf olduğunu.

<If "%{REMOTE_ADDR} -ipmatch '10.0.0.0/8'"> 

veya daha hızlı bir yol -R ile:

<If "-R '192.168.0.0/16' || -R '10.0.248.0/24'"> 
+0

Bu ödül ve '-R' ile bu ipucu için teşekkürler - dokümanlar da daha verimli olduğunu söylüyor. – CodeBrauer