使用参数化查询防止SQL注入漏洞

Posted Ame启风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用参数化查询防止SQL注入漏洞相关的知识,希望对你有一定的参考价值。

参数化查询防止SQL注入漏洞

看别人的登录注册sql语句有没漏洞即可

 

Where  name=‘admin’ or ‘1=1’ and password=’123’;

 

可以Or ‘1=1’就是漏洞

http://jingyan.baidu.com/article/27fa7326f53ea746f9271f79.html

以往的防御方式

以前对付这种漏洞的方式主要有三种:

l        字符串检测:限定内容只能由英文、数字等常规字符,如果检查到用户输入有特殊字符,直接拒绝。但缺点是,系统 中不可避免地会有些内容包含特殊字符,这时候总不能拒绝入库。

l        字符串替换:把危险字符替换成其他字符,缺点是危险字符可能有很多,一一枚举替换相当麻烦,也可能有漏网之 鱼。

l        存储过程:把参数传到存储过程进行处理,但并不是所有数据库都支持存储过程。如果存储过程中执行的命令也是通 过拼接字符串出来的,还是会有漏洞。

参数化查询

近年来,自从参数化查询出现后,SQL注入漏洞已成明日黄花

以上是关于使用参数化查询防止SQL注入漏洞的主要内容,如果未能解决你的问题,请参考以下文章

怎么防止SQL注入?

mybatis如何防止sql注入

如何防止SQL注入漏洞

Statement和PreparedStatement深入学习总结

sql注入漏洞如何修复

解决SQL注入漏洞方法