怎样测试程序已防止了SQL注入? 如http://www.XXX.com/jiaren.asp?ID=544,此网站用ID来传送数值,如果在ID数值后面加一个SQL敏感符号,英文单引号“’”,打开此链接,如果出现的是浏览器的默认出错提示,则需要设置浏览器,使其错误提示出现,方法为打开浏览器:选项—Internet选项—高级,在设置里找到显示友好的HTTP错误信息勾掉,确认后再刷新,如果此时出现了数据库出错的提示,如:Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21',那么说明本程序并没有防止SQL注入,反之如果只出现了如:“提醒您, URL有误,请与管理员联系”之类的提示,说明SQL已经防止了注入。检测表单方法如:如提交脚本,在输入框中输入特殊字符如:script_等,在此不再叙述,测试者可以在网上找到很多这样的方法。 2 验证码技术 为什么必须使用验证码? 普遍的客户端交互如留言本、会员注册等仅是按照要求输入内容,但网上有很多攻击软件,如注册机,可以通过浏览WEB,扫描表单,然后在系统上频繁注册,频繁发送不良信息,造成不良的影响,或者通过软件不断的尝试,盗取你的密码。而我们使用通过使用验证码技术,使客户端输入的信息都必须经过验证,从而可以解决这个问题。