有没有一种内置的方法来使用 java 中的用户输入转义JDBC
?类似于 php 版本mysql_real_escape()
功能的东西。验证输入的最佳方法是什么?
Josh Smeaton
问问题
3590 次
2 回答
14
如果您的意思是如何确保用户输入不能用于 SQL 注入攻击,那么做到这一点的方法(以及所有 SQL 应该用 JDBC 编写的方式)是使用准备好的语句。JDBC 将自动处理任何必要的转义。
http://java.sun.com/docs/books/tutorial/jdbc/basics/prepared.html
于 2008-09-28T11:58:44.433 回答
0
只是为了补充@skaffman 的建议,PreparedStatements 解决了大多数应用程序的问题。但是,在某些应用程序中,SQL 语句的(部分)(而不仅仅是参数值)取自用户输入(例如,包含 ORDER BY 子句的 URL 参数)。只要确保您也对它们进行消毒,或者更好的是,尽可能避免此类设计。
于 2008-09-28T13:09:39.753 回答