**:
今天在調整**架構時,突然發現可以直接瀏覽到子目錄下的結構和檔案。我覺得這是乙個比較危險的情況,特別是apache配置中是開啟該選項的,有必要關閉它。
一、預設情況
預設情況下,apache的配置檔案/etc/httpd/conf/httpd.conf中有如下引數:
引用options indexes followsymlinks
......
也就是說,在目錄下沒有預設首頁面(如:index.html index.php等)時,可以讓使用者直接瀏覽web目錄架構,這可能會導致一些重要的目錄或配置檔案被公開。
通常在web應用上也會做一些安全考慮,以bo-blog為例,一些目錄下會有類似的檔案:
引用# cat inc/index.php
<?php
die ('access denied');
這樣,可以避免使用者直接瀏覽該目錄時,看到整個目錄結構。但如果訪問它下面的子目錄就沒什麼作用了:
所以,這還是不太安全。
二、修改配置檔案
安全起見,我建議還是把indexes選項關閉比較好,方法有兩種:
1、全域性關閉
修改上面提到的配置檔案/etc/httpd/conf/httpd.conf,把:
引用options indexes followsymlinks
改為:引用
options
-indexes
followsymlinks
重啟httpd服務即可,這樣可以把所有**的indexes選項都取消。
2、修改.htaccess檔案
如需要針對特定的**取消該功能,可以先開啟.htaccess支援,修改/etc/httpd/conf/httpd.conf:
引用......
allowoverride none
......
修改為:
引用......
allowoverride
all......
然後,在各**的主目錄下寫入乙個.htaccess檔案,內容有:
引用# head .htaccess
options -indexes
rewriteengine on
rewritebase /
......
儲存後馬上生效。
※ 從服務層面去遮蔽類似的問題,會比從應用層面解決要更安全和可靠。很多應用程式的預設設定都是比較寬鬆的,所以,在對外公布**的時候,務必做好類似的安全檢查,防止漏洞和隱患。
關閉Apache的目錄瀏覽功能
用途 在目錄下沒有預設首頁面 如index.html index.php 時防止使用者瀏覽web目錄。記得以前沒有權利修改apache配置 伺服器也不支援.htaccess檔案的時候都是在每個目錄下新建index.html來防止列目錄的,現在提供2種方法來放置使用者列web目錄。1 apache配置...
關閉Apache的目錄瀏覽功能
一 預設情況 預設情況下,apache的配置檔案c web apache2.4 conf httpd.conf中有如下引數 引用options indexes followsymlinks 也就是說,在目錄下沒有預設首頁面 如 index.html index.php等 時,可以讓使用者直接瀏覽we...
Nginx 和 Apache 開啟目錄瀏覽功能
1.nginx 在相應專案的 server 段中的 location 段中,新增 autoindex on。例如 server location php access log home wwwlogs practise access.log access 2.apache 在 http.conf 中...