验证用户输入JDBC的最佳方法是什么?
-
02-07-2019 - |
题
是否有使用 JDBC
在java中转义用户输入的内置方法?类似于php版 mysql_real_escape()
的东西。什么是验证输入的最佳方法?
解决方案
如果您的意思是如何确保用户输入不能用于SQL注入攻击,那么执行此操作(以及所有SQL应该用JDBC编写的方式)的方法是使用Prepared Statements。 JDBC将自动处理任何必要的转义。
http://java.sun.com/docs /books/tutorial/jdbc/basics/prepared.html
其他提示
只是为了添加@skaffman的建议,PreparedStatements解决了大多数应用程序的问题。但是,有些应用程序(部分)SQL语句(而不仅仅是参数值)来自用户输入(例如,包含ORDER BY子句的URL参数)。只要确保你消毒那些,或者更好的是,尽可能避免这样的设计。
不隶属于 StackOverflow