扫码关注官方订阅号
java 预编译 能100%的解决 sql 注入的问题么?
不是Java预编译而是SQL预处理语句吧
如果只是针对SQL注入的话,答案是 可以 绝大部分情况下可以 (我在stackoverflow上见到了类似的讨论 http://stackoverflow.com/questions/134099/are-pdo-prepared-statements-sufficient-to-prevent-sql-injection 感谢 @代码宇宙 )
绝大部分情况下可以
产生SQL注入的根本原因就是因为你的查询和参数是混淆在一起的,用SQL预处理来解决这个问题的背后的逻辑也很简单,就是把SQL查询和参数分开发送
另外这个问题本质上和Java无关,你可以参考 MySQL 的预处理语法: http://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
注入实现的主要是通过数据库本身的漏洞,和java并没有什么关系。
不能。但可以解决99.99%的SQL注入问题。
SQL注入的范围很广,构造SQL语句是最常见的,预编译恰恰可以预防这一类型的注入攻击。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
不是Java预编译而是SQL预处理语句吧
如果只是针对SQL注入的话,答案是
可以绝大部分情况下可以(我在stackoverflow上见到了类似的讨论 http://stackoverflow.com/questions/134099/are-pdo-prepared-statements-sufficient-to-prevent-sql-injection 感谢 @代码宇宙 )产生SQL注入的根本原因就是因为你的查询和参数是混淆在一起的,用SQL预处理来解决这个问题的背后的逻辑也很简单,就是把SQL查询和参数分开发送
另外这个问题本质上和Java无关,你可以参考 MySQL 的预处理语法: http://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
注入实现的主要是通过数据库本身的漏洞,和java并没有什么关系。
不能。但可以解决99.99%的SQL注入问题。
SQL注入的范围很广,构造SQL语句是最常见的,预编译恰恰可以预防这一类型的注入攻击。