前段时间网站被SQL注入了,尝试了N种方法,最后采用了双重方法才制止住,不过现在每天小黑还在尝试攻击,到目前为止还没出现漏洞
闲话少说,现在说说我对SQL注入的防止思想和做法
1.首先程序中尽量少用拼字符串,改用存储过程来执行
2.在httpmoudle中采取拦截关键字的方法,不过这个有个缺点,就是当用户添加修改信息的话,可能内容会存在关键字,所以采取写日志发邮件方法,可以即时通知管理员,知道有人攻击,把记录保存下来,来分析问题
3.查询时,将所有参数的关键字replace掉,可以多重防线阻止
4.一位同事提醒,具体还没执行,思路是在数据库建立用户权限,更新操作调用只有更新权限的用户连接,查询操作调用查询权限的用户连接,这样可避免查询中带有更新操作,可返回权限错误,不过其中要考虑的是事务中又有查询又有更新怎么办,不过这个还没碰到。
好了,本人小菜一个,目前只能想到这么多。