當你在浏覽器輸入地址:
http://localhost:8080/
如果你的文件根目錄裡有 index.html,浏覽器就會顯示 index.html的內容,如果沒有 index.html,Apache將在浏覽器顯示文件根目錄的目錄列表,目錄列表包括文件根目錄下的文件和子目錄。給網站造成安全風險。
同樣當你輸入一個虛擬目錄的地址:
http://localhost:8080/My/
如果該虛擬目錄下沒有 index.html,浏覽器也會顯示該虛擬目錄的目錄結構,列出該虛擬目錄下的文件和子目錄。
我們可以通過修改Apache的配置文件,來禁止 Apache 顯示目錄結構列表。
打開httpd.conf ,來看一個目錄配置:
<Directory "D:/WAMP/WWW">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
你只需要將上面紅色代碼中的 Indexes 去掉,就可以禁止Apache 顯示該目錄結構。用戶就不會看到該目錄下的文件和子目錄列表了。
Indexes 的作用就是當該目錄下沒有 index.html 文件時,就顯示目錄結構。
現改為如下:
<Directory "D:/WAMP/WWW">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
另外也可以在 Indexes 前加一個減號 “-”,同樣可以禁止Apache顯示目錄結構。
在Indexes前加 “+” 代表允許目錄浏覽;加 “-” 代表禁止目錄浏覽。修改如下:
<Directory "D:/WAMP/WWW">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>