是否有使用 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参数)。只要确保你消毒那些,或者更好的是,尽可能避免这样的设计。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top