<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[两招实现Nginx在URL访问中的安全过滤]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Mon, 03 Jan 2011 06:00:58 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;从web站点搭建的那一天起，安全就成了重中之重的问题。当病毒，恶意数据采集，DDos攻击，sql注入等接踵而至的时候我们就要做好防范了。<br/> 听雨在日常的工作中经常使用nginx，经过分析后发现可以在nginx上做一些安全过滤来防范恶意攻击。下面简单的列举了两个例子来做演示。<br/><br/><br/>安全过滤第一招： 防范sql注入攻击<br/><br/>在虚拟主机server段中加入如下配置： <br/><div class="code"><br/>if ($request_uri&nbsp;&nbsp;~*&nbsp;&nbsp;(.*)(insert&#124;select&#124;delete&#124;update&#124;count&#124;&#92;*&#124;%&#124;master&#124;truncate&#124;declare&#124;&#92;&#039;&#124;&#92;;&#124;and&#124;or&#124;&#92;(&#124;&#92;)&#124;exec)(.*)$ )<br/>&#123;<br/>&nbsp;&nbsp;rewrite ^(.*) http://www.dzhope.com redirect;<br/>&#125;<br/></div><br/>这样我们就可以把恶意的sql注入给导航到其他页面。<br/><br/>当然我们也可以返回404错误：<br/><div class="code"><br/>if ($request_uri&nbsp;&nbsp;~*&nbsp;&nbsp; (.*)(insert&#124;select&#124;delete&#124;update&#124;count&#124;&#92;*&#124;%&#124;master&#124;truncate&#124;declare&#124;&#92;&#039;&#124;&#92;;&#124;and&#124;or&#124;&#92;(&#124;&#92;)&#124;exec)(.*)$ )<br/>&#123;<br/>&nbsp;&nbsp;return 404；<br/>&#125;<br/></div><br/>如果能自己定义404错误就更棒了, 在虚拟主机server段中加入如下配置：&nbsp;&nbsp;<br/><div class="code"><br/>error_page&nbsp;&nbsp;404&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/404.html;<br/>location = /404.html &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp; errorpage;<br/>&#125;<br/></div><br/>安全过滤第二招： 阻挡非法ip访问 <br/><br/>经常会有一些恶意的ip来访问网站，例如采集数据等。以下配置可以阻挡非法ip访问。<br/><br/>在虚拟主机server段中加入如下配置：<br/><div class="code"><br/>if ($remote_addr = 192.168.0.83 ) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;rewrite ^(.*) http://www.dzhope.com redirect;<br/>&#125;<br/></div><br/>这样就可以阻挡192.168.0.83对网站的访问了。<br/><br/>当然你也可以返回404错误:<br/>[/code]<br/>if ($remote_addr = 192.168.0.83 ) &#123;<br/>&nbsp;&nbsp;return&nbsp;&nbsp;404；<br/>&#125;<br/>[/code]<br/>nginx是一个配置简单却功能十分强大的web服务器。上面的两个技巧虽然简单却可以实现很有的功能。尤其是第一个防止msyql注入的配置，在7层网络上解决问题，效率是相当高的，这样就像是给网站穿了一副盔甲一样，使sql注入根本不能近身。<br/><br/>Tags - <a href="http://www.dzhope.com/tags/nginx/" rel="tag">nginx</a> , <a href="http://www.dzhope.com/tags/sql%25E6%25B3%25A8%25E5%2585%25A5/" rel="tag">sql注入</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] 两招实现Nginx在URL访问中的安全过滤]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>