威盾防火墙 >> 新闻中心 >> 业界动态 >> PHP网站SQL注入防御问题
威盾防火墙 2015-01-08
自己维护的一个网站在做安全检测时总是被评出多个SQL注入方面的安全漏洞,测评结果显示网站中存在大量的SQL注入漏洞。请问各位高手我该如何补救?PHP+Apache+MySql+Windows抄书抄网络的就别回答了,我想知道具体的我该如何做,怎么去解决这个问题。我希望我的网站在做测评的时候没有关于“SQL安全漏洞”问题。
请看下面的图片,问题就出现在那些id上。问了好多人都告诉我说应该加id校验或者强制类型转换。但我不知道怎么写代码怎么校验id或者是强制类型转换。
把你的sql语句找出来,然后找到select id from table where a='*';这样的语句;这样的语句就是有注入可能的地方,有二种解决方案:1、写存储过程,所有条件以参数形式传递,这个可以有效的防范注入;2、sprintf("select id from table where a=%s",a);这个也行,就是将注入条件都当成字符处理来防范注入攻击。
例如下面是我检测网站出现的关于存在SQL注入的一些提示,请帮忙看一下该修改哪个页面,怎样修改。
我不知道你的url重写规则;profsearcher/researchlist/sysc_id/问题是这个地方出了问题。你检查一下sysc_id是那个模块中使用的,建议你对这个id进行校验,同时不要将数据库的真实参数暴露出来;可以做一些处理,可以参考淘宝。
没错,现在就是这个id暴漏出来了,我想问一下如何将这个id做强制类型转换。刚才我问了一下给网站做扫描的人,他说是因为这些id会被人利用,从而把数据库拖下来。解决办法很多,说可以将id做一个强制类型转换,或者将id做一下隐藏。你刚才说的淘宝那种是非常好的,可是我不知道怎么做,请教。
你可以自己写个加解密,如id,你可以换进制或位计算再放出来,读的时候解回去再去查。给个思路,如id=19,你可以在id前面加上1然后转为16进制;然后取的时候你转回10进制再去掉前面你加的1,再用这个id去查。
(C)2005-2016 威盾IIS防火墙 www.WeiDun.com.cn 版权所有 电话:(010)51661195 QQ支持:2600725 京ICP备09032906号
(C)2005-2016 威盾IIS防火墙 www.WeiDun.com.cn 版权所有
电话:(010)51661195 QQ支持:2600725
京ICP备09032906号