apache禁止訪問某些文件或目錄的方法

【apache配置禁止訪問】
1. 禁止訪問某些文件/目錄
增加Files選項來控制,比如要不允許訪問 .inc 擴展名的文件,保護php類庫:
<Files ~ "\.inc$">
   Order allow,deny
   Deny from all
</Files>

禁止訪問某些指定的目錄:(可以用 <DirectoryMatch>   來進行正則匹配)

<Directory ~ "^/var/www/(.+/)*[0-9]{3}">
   Order allow,deny
   Deny from all
</Directory>

通過文件匹配來進行禁止,比如禁止所有針對圖片的訪問:
<FilesMatch \.(?i:gif|jpe?g|png)$>
   Order allow,deny
   Deny from all
</FilesMatch>

針對URL相對路徑的禁止訪問:
<Location /dir/>
   Order allow,deny
   Deny from all
</Location>

針對代理方式禁止對某些目標的訪問(<ProxyMatch> 可以用來正則匹配),比如拒絕通過代理訪問cnn.com:
<Proxy http://cnn.com/*>
   Order allow,deny
   Deny from all
</Proxy>

2. 禁止某些IP訪問/只允許某些IP訪問
如果要控制禁止某些非法IP訪問,在Directory選項控制:
<Directory "/var/www/web/">
   Order allow,deny
   Allow from all
   Deny from 10.0.0.1 #阻止一個IP
   Deny from 192.168.0.0/24 #阻止一個IP段
</Directory>

只允許某些IP訪問,適合比如就允許內部或者合作公司訪問:
<Directory "/var/www/web/">
   Order deny,allow
   Deny from all
   All from example.com #允許某個域名
   All from 10.0.0.1 #允許一個iP
   All from 10.0.0.1 10.0.0.2 #允許多個iP
   Allow from 10.1.0.0/255.255.0.0 #允許一個IP段,掩碼對
   All from 10.0.1 192.168 #允許一個IP段,後面不填寫
   All from 192.168.0.0/24 #允許一個IP段,網絡號
</Directory>


Apache:解決辦法;
<Directory "/home/domain/public_html">
Options -Indexes FollowSymLinks
AllowOverride All
<Files ~ ".txt">
Order allow,deny
Deny from all
</Files>
</Directory>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章