XZteam 致力于创新技术的研发以及打造电子商务领域的领先品牌

22二/100

两招实现Nginx在url访问中的安全过滤

        从web站点搭建的那一天起,安全就成了重中之重的问题。当病毒,恶意数据采集,DDos攻击,sql注入等接踵而至的时候我们就要做好防范了。
        听雨在日常的工作中经常使用nginx,经过分析后发现可以在nginx上做一些安全过滤来防范恶意攻击。下面简单的列举了两个例子来做演示。

安全过滤第一招: 防范sql注入攻击

在虚拟主机server段中加入如下配置: 

if ($request_uri  ~*  (.*)(insert|select|delete|update|count|\*|%|master|truncate|declare|\'|\;|and|or|\(|\)|exec)(.*)$ ) {
	rewrite ^(.*) <a href="http://www.gongchang.com">http://www.gongchang.com</a> redirect;
}

 这样我们就可以把恶意的sql注入给导航到其他页面。

当然我们也可以返回404错误:

if ($request_uri  ~*   (.*)(insert|select|delete|update|count|\*|%|master|truncate|declare|\'|\;|and|or|\(|\)|exec)(.*)$ ) {
	return 404;
}

如果能自己定义404错误就更棒了, 在虚拟主机server段中加入如下配置:  

error_page  404		      /404.html;
location = /404.html {
    root   errorpage;
}

下图就是404出错页面的一个演示:

安全过滤第二招: 阻挡非法ip访问 

经常会有一些恶意的ip来访问网站,例如采集数据等。以下配置可以阻挡非法ip访问。

在虚拟主机server段中加入如下配置:

if ($remote_addr = 192.168.0.83 ) {
		rewrite ^(.*) http://www.gongchang.com redirect;
}

这样就可以阻挡192.168.0.83对网站的访问了。

当然你也可以返回404错误:

if ($remote_addr = 192.168.0.83 ) {
	return	404}

    nginx是一个配置简单却功能十分强大的web服务器。上面的两个技巧虽然简单却可以实现很有的功能。尤其是第一个防止msyql注入的配置,在7层网络上解决问题,效率是相当高的,这样就像是给网站穿了一副盔甲一样,使sql注入根本不能近身。

评论 (0) 引用 (0)

还没有评论.


发表评论


还没有引用.