Apache禁止目錄訪問方法介紹

  在PHP網站開發中,基於WEB服務器和PHP網站程序代碼的安全考慮,咱們須要對相關的目錄或者文件訪問權限進行控制,以防止意外狀況的發生,那麼咱們如何來實現這種功能呢?咱們能夠經過Apache來實現禁止目錄訪問(禁止遊覽列出的目錄或文件列表)、禁止或容許IP與域名訪問目錄的功能。

環境說明 php

  我使用的是DedeCMS DedeAmpz的PHP運行環境,PHP版本5.2.4,Apache版本2.2.4 apache

在Apache中配置禁止目錄訪問,即禁止遊覽列出的目錄/文件列表的方法 安全

  訪問網站目錄時Apache默認配置爲可列出目錄/文件列表,即當你訪問http://localhost時會列出相關的目錄和文件列表,咱們能夠經過修改Apache配置文件httpd.conf來實現禁止列出目錄/文件列表,方法以下: 服務器

一、打開apache配置文件httpd.conf ide

二、找到 性能

1
2
3
4
5
6
<Directory />
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>

只須要修改Options Indexes爲Options None便可,:根據PHP運行環境安裝包的不一樣,Options Indexes也有多是Options Indexes FollowSymLinks,一併改成Options None便可。 優化

三、保存httpd.conf,並重啓Apache便可,此時再訪問http://localhost時, 報apache http 403 禁止訪問錯誤信息 網站

  Forbidden this

  You don’t have permission to access / on this server. spa

Apache單個或多個目錄禁止訪問方法

  這種方法一般用來禁止訪問者訪問後臺管理目錄或者程序目錄,方法以下

一、打開apache配置文件httpd.conf

二、建立Directory塊,好比禁止訪問某個類庫目錄,能夠這樣實現

1
2
3
4
<Directory /var/www/www.leapsoul.cn/inc>
    Order Deny,Allow
    Deny from all
</Directory>

上述代碼實現了禁止全部用戶訪問www.leapsoul.cn下inc目錄的功能。如要實現禁止訪問全部目錄中inc目錄的功能,只要將

1
<Directory /var/www/www.leapsoul.cn/inc>

更改成

1
<Directory /var/www/www.leapsoul.cn/*/inc>

便可。

三、重啓Apache服務器。

其餘說明

一、只容許或禁止某個域名進行目錄訪問

1
2
3
4
5
<Directory /var/www/www.leapsoul.cn/inc>
    Order Deny,Allow
    Deny from abc.com
    Allow from apache.org
</Directory>

上述代碼實現禁止abc.com域中主機訪問inc目錄,容許apache.org域中主機訪問inc目錄的功能。

二、只容許或禁止某個IP進行目錄訪問

1
2
3
4
5
<Directory /var/www/www.leapsoul.cn/inc>
    Order Deny,Allow
    Deny from 10.1.1.2
    Allow from 192.168.1.0/255.255.255.0
</Directory>

上述代碼實現禁止IP10.1.1.2訪問www.leapsoul.cn/inc目錄,容許IP192.168.1子網中的主機訪問www.leapsoul.cn/inc目錄的功能。

注意:Allow from 192.168.1.0/255.255.255.0等同於Allow from 192.168.1或Allow from 192.168.1.0/24

  至此,經過配置Apache服務器咱們能夠實現禁止目錄訪問(列出目錄或文件列表),也能夠實現禁止訪問單個或者多個目錄,更能夠對訪問者進行控制,好比容許或禁止某個IP或者域名對目錄進行訪問,這些功能對提升和優化WEB服務器的安全性能是必不可少的方法。

  PHP網站開發教程-leapsoul.cn版權全部,轉載時請以連接形式註明原始出處及本聲明,謝謝。

相關文章
相關標籤/搜索