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