使用 .htaccess 文件禁用 Web 目錄列舉
本文將為你展示如何使用 .htaccess
文件禁用或阻止 Apache 伺服器目錄列舉。
以下便是不存在 index.html
,且未採取防範措施前,目錄的列舉的情況。
[][4]
首先,.htaccess
(hypertext access) 是一個文件,它可以讓站點管理員控制伺服器的環境變數以及其他的重要選項,用以增強他/她的站點功能。
欲知更多關於該重要文件的信息,請閱讀以下文章,以便通過 .htaccess
的方法來確保 Apache Web 伺服器的安全。
使用這一簡單方法,在站點目錄樹中的任意/每個目錄創建 .htaccess
文件,以便為站點根目錄、子目錄和其中的文件提供保護支持。
首先要 Apache 主配置文件中為你的站點啟用 .htaccess
文件支持。
$ sudo vi /etc/apache2/apache2.conf #Debian/Ubuntu 系統
$ sudo vi /etc/httpd/conf/httpd.conf #RHEL/CentOS 系統
然後尋找以下部分,其中 AllowOverride
指令必須設置為 AllowOverride All
。
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
如果已存在 .htaccess
文件,先備份(如下),假設文件在 /var/www/html/tecmint/
(並要禁用該目錄列舉):
$ sudo cp /var/www/html/tecmint/.htaccess /var/www/html/tecmint/.htaccess.orig
然後你就可以在某個特定的目錄使用你喜歡的編輯器打開 (或創建) 它,以便修改。並添加以下內容來關閉目錄列舉。
Options -Indexes
下一步就是重啟 Apache Web 伺服器:
-------- 使用 SystemD 的系統 --------
$ sudo systemctl restart apache2
$ sudo systemctl restart httpd
-------- 使用 SysVInit 的系統 --------
$ sudo /etc/init.d/apache2 restart
$ sudo /etc/init.d/httpd restart
現在來驗證效果,在瀏覽器中輸入:http://www.example.com/tecmint,你會得到類似如下的信息:
[][5]
Apache 目錄列舉已禁用
在本文中,我們描述了如何使用 .htaccess
文件來禁用 Apache Web 伺服器的目錄列舉。之後我們會介紹兩種同樣簡單的我方法來實現這一相同目的。隨時保持聯繫。
像往常一樣,在下方反饋表單中給我們發送關於本文的任何想法。
作者簡介:
Aaron Kili 是一名 Linux 和 F.O.S.S 忠實擁護者、未來的 Linux 系統管理員、Web 開發者,目前是 TecMint 的原創作者,熱衷於計算機並樂於知識分享。
譯者簡介:
GHLandy - 生活中所有歡樂與苦悶都應藏在心中,有些事兒註定無人知曉,自己也無從說起。
via: http://www.tecmint.com/disable-apache-directory-listing-htaccess/
作者:[Aaron Kili][a] 譯者:GHLandy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive