關閉Apache的目錄瀏覽功能

2021-06-27 14:59:41 字數 1395 閱讀 8703

**:

今天在調整**架構時,突然發現可以直接瀏覽到子目錄下的結構和檔案。我覺得這是乙個比較危險的情況,特別是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 中...