那为什么出现以上问题呢?这是程序代码层控制不当导致的.如果web前端对输入数据控制严格,会对数据库进行操作的字符串,在客户端做敏感字符转义处理,或者在操作数据库的dao层,使用动态参数的sql,不使用拼接方式的sql,都可以防止该类问题的发生. 一般情况,如果测试人员了解dao层的具体设计,如果使用的就是非拼接方式的,基本是可以拦截大部分这些存在问题的sql了.而如果使用的是拼接方式,就可以好好的设计测试用例,进行测试了. 那又为什么非拼接方式就可以有效的防止SQL注入测试呢? 修改上部分核心代…