nginx防止sql注入过滤
从web站点搭建的那一天起,安全就成了重中之重的问题。当病毒,恶意数据采集,DDos攻击,sql注入等接踵而至的时候我们就要做好防范了。
安全过滤第一招: 防范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;
}
安全过滤第二招: 阻挡非法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; }