Apache和Nginx下禁止访问特定的目录或文件
生活随笔
收集整理的這篇文章主要介紹了
Apache和Nginx下禁止访问特定的目录或文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
例如:http://www.domain.com/test/a.txt,此時a.txt里的內容會全部暴露在外面了(有時這個txt是很機密的文件),這樣以來就不安全了。 同樣:我在Nginx配置后后也存在這樣的問題,Apache下此問題的解決多謝NetSeek幫助。 #不解析PHP文件,但是提示下載文件 #php_flag engine off? #APACHE 禁止相關文件類型 #<Files ~ ".(php|sh|bat|c|.php.*)$"> #Order allow,deny #Deny from all #</Files> 如下是關于Apache和Nginx 限制該類事情辦法: 【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> Nginx:解決辦法; location ~* .(txt|doc)$ { if (-f $request_filename) { root /home/domain/public_html/test; break; } }
總結
以上是生活随笔為你收集整理的Apache和Nginx下禁止访问特定的目录或文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Everyday Mathematic
- 下一篇: 关于xinetd报错