<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://pic1.liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://pic1.liuxinxiu.com:80/Apache_Nginx_deny/</link>
<title><![CDATA[Apache和Nginx下禁止访问特定的目录或文件]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web服务器]]></category>
<pubDate>Wed, 19 Jun 2013 07:06:20 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/Apache_Nginx_deny/</guid> 
<description>
<![CDATA[ 
	<p>大家是否测试Apache做了目录禁止浏览后，目录下面的txt文件还是可以显示里面的内容的。</p><div>例如：http://www.domain.com/test/此访问会报403错误，但是如果test下有很多txt，你访问该txt时；</div><div>例如：http://www.domain.com/test/a.txt，此时a.txt里的内容会全部暴露在外面了（有时这个txt是很机密的文件），这样以来就不安全了。</div><div>同样：我在Nginx配置后后也存在这样的问题，Apache下此问题的解决多谢NetSeek帮助。</div><div><div><span style="color: rgb(255, 255, 255); "><strong><span style="background-color: rgb(255, 0, 0); ">#不解析PHP文件，但是提示下载文件</span></strong></span></div><div><span style="color: rgb(255, 255, 255); "><strong><span style="background-color: rgb(255, 0, 0); ">#php_flag engine off&nbsp;</span></strong></span></div><div><span style="color: rgb(255, 255, 255); "><strong><span style="background-color: rgb(255, 0, 0); "><br /></span></strong></span></div><div><span style="color: rgb(255, 255, 255); "><strong><span style="background-color: rgb(255, 0, 0); ">#APACHE 禁止相关文件类型</span></strong></span></div><div><span style="color: rgb(255, 255, 255); "><strong><span style="background-color: rgb(255, 0, 0); ">#&lt;Files ~ &quot;&#92;.(php&#124;sh&#124;bat&#124;c&#124;.php.*)$&quot;&gt;</span></strong></span></div><div><span style="color: rgb(255, 255, 255); "><strong><span style="background-color: rgb(255, 0, 0); ">#Order allow,deny</span></strong></span></div><div><span style="color: rgb(255, 255, 255); "><strong><span style="background-color: rgb(255, 0, 0); ">#Deny from all</span></strong></span></div><div><span style="color: rgb(255, 255, 255); "><strong><span style="background-color: rgb(255, 0, 0); ">#&lt;/Files&gt;</span></strong></span></div><div>&nbsp;</div></div><div>如下是关于Apache和Nginx 限制该类事情办法：</div><div>&nbsp;</div><div>【apache配置禁止访问】</div><div>1. 禁止访问某些文件/目录</div><div>增加Files选项来控制，比如要不允许访问 .inc 扩展名的文件，保护php类库：</div><div>&lt;Files ~ &quot;&#92;.inc$&quot;&gt;</div><div>Order allow,deny</div><div>Deny from all</div><div>&lt;/Files&gt;</div><div>&nbsp;</div><div>禁止访问某些指定的目录：（可以用 &lt;DirectoryMatch&gt;&nbsp;&nbsp; 来进行正则匹配）</div><div>&nbsp;</div><div>&lt;Directory ~ &quot;^/var/www/(.+/)*[0-9]&#123;3&#125;&quot;&gt;</div><div>Order allow,deny</div><div>Deny from all</div><div>&lt;/Directory&gt;</div><div>&nbsp;</div><div>通过文件匹配来进行禁止，比如禁止所有针对图片的访问：</div><div>&lt;FilesMatch &#92;.(?i:gif&#124;jpe?g&#124;png)$&gt;</div><div>Order allow,deny</div><div>Deny from all</div><div>&lt;/FilesMatch&gt;</div><div>&nbsp;</div><div>针对URL相对路径的禁止访问：</div><div>&lt;Location /dir/&gt;</div><div>Order allow,deny</div><div>Deny from all</div><div>&lt;/Location&gt;</div><div>&nbsp;</div><div>针对代理方式禁止对某些目标的访问（&lt;ProxyMatch&gt; 可以用来正则匹配），比如拒绝通过代理访问cnn.com：</div><div>&lt;Proxy http://cnn.com/*&gt;</div><div>Order allow,deny</div><div>Deny from all</div><div>&lt;/Proxy&gt;</div><div>&nbsp;</div><div>2. 禁止某些IP访问/只允许某些IP访问</div><div>如果要控制禁止某些非法IP访问，在Directory选项控制：</div><div>&lt;Directory &quot;/var/www/web/&quot;&gt;</div><div>Order allow,deny</div><div>Allow from all</div><div>Deny from 10.0.0.1 #阻止一个IP</div><div>Deny from 192.168.0.0/24 #阻止一个IP段</div><div>&lt;/Directory&gt;</div><div>&nbsp;</div><div>只允许某些IP访问，适合比如就允许内部或者合作公司访问：</div><div>&lt;Directory &quot;/var/www/web/&quot;&gt;</div><div>Order deny,allow</div><div>Deny from all</div><div>All from example.com #允许某个域名</div><div>All from 10.0.0.1 #允许一个iP</div><div>All from 10.0.0.1 10.0.0.2 #允许多个iP</div><div>Allow from 10.1.0.0/255.255.0.0 #允许一个IP段，掩码对</div><div>All from 10.0.1 192.168 #允许一个IP段，后面不填写</div><div>All from 192.168.0.0/24 #允许一个IP段，网络号</div><div>&lt;/Directory&gt;</div><div>&nbsp;</div><div>&nbsp;</div><div>Apache：解决办法；</div><div>&lt;Directory &quot;/home/domain/public_html&quot;&gt;</div><div>Options -Indexes FollowSymLinks</div><div>AllowOverride All</div><div>&lt;Files ~ &quot;.txt&quot;&gt;</div><div>Order allow,deny</div><div>Deny from all</div><div>&lt;/Files&gt;</div><div>&lt;/Directory&gt;</div><div>&nbsp;</div><div>Nginx：解决办法；</div><div>location ~* &#92;.(txt&#124;doc)$ &#123;</div><div>if (-f $request_filename) &#123;</div><div>root /home/domain/public_html/test;</div><div>break;</div><div>&nbsp;</div><div>&#125;</div><div>&nbsp;</div><div>&#125;</div><div>&nbsp;</div><div>&nbsp;</div><div>Nginx下请大家注意标点符号的使用，不要漏掉后面的&ldquo;;&rdquo;！</div>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/Apache_Nginx_deny/#blogcomment</link>
<title><![CDATA[[评论] Apache和Nginx下禁止访问特定的目录或文件]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/Apache_Nginx_deny/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>