關閉Apache的目錄瀏覽功能


一、默認情況

默認情況下,Apache的配置文件C:\web\apache2.4\conf/httpd.conf中有如下參數: 

引用

<Directory "/var/www/html">

Options Indexes FollowSymLinks ......

</Directory>   

也就是說,在目錄下沒有默認首頁面(如:index.html index.php等)時,可以讓用戶直接瀏覽web目錄架構,這可能會導致一些重要的目錄或配置文件被公開。 

通常在Web應用上也會做一些安全考慮,以Bo-Blog為例,一些目錄下會有類似的文件: 

引用

# cat inc/index.php

<?php die ('Access Denied');   

這樣,可以避免用戶直接瀏覽該目錄時,看到整個目錄結構。但如果訪問它下面的子目錄就沒什么作用了:

 

 

   所以,這還是不太安全。 

二、修改配置文件

安全起見,我建議還是把Indexes選項關閉比較好,方法有兩種:

1、全局關閉

修改上面提到的配置文件C:\web\apache2.4\conf/httpd.conf,把: 

引用 Options Indexes FollowSymLinks   

改為:  引用 Options -Indexes FollowSymLinks   

重啟httpd服務即可,這樣可以把所有網站的Indexes選項都取消。 

2、修改.htaccess文件

如需要針對特定的網站取消該功能,可以先打開.htaccess支持,

修改C:\web\apache2.4\conf/httpd.conf: 

引用 <Directory "/var/www/html">

  ......

     AllowOverride None

   ......

</Directory>   

修改為: 

引用

<Directory "/var/www/html">

   ......     

  AllowOverride All

   ......

 </Directory>   

然后,在各網站主目錄寫入一個.htaccess文件,內容有: 

引用

# head .htaccess

Options -Indexes 

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteBase /

...... 

 保存后馬上生效。  這時,訪問同樣的路徑,就會報下面的錯誤提示:   

 

 

※ 從服務層面去屏蔽類似的問題,會比從應用層面解決要更安全和可靠。很多應用程序的默認設置都是比較寬松的,所以,在對外公布網站的時候,務必做好類似的安全檢查,防止漏洞和隱患。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM