2012-01-18 24 views
-1

什么安全模块(DLL)的在Java中常见的编程错误,比如SQL注入可安全库

而在Java这样的DLL我发现可以通过PreparedStatement对象在Java中,所以我需要防止SQL注入知道是否有一个图书馆可以帮助我做到这一点

+3

Java通常不使用DLL来组织模块;这是Windows特有的技术,会违反“一次写入,随处运行”。相反,Java使用JAR文件。这并不是说Windows的核心Java运行时不是使用EXE和其他特定于Windows的技术来组织的,但是您正在寻找JAR而不是DLL。 – 2012-01-18 06:17:32

+0

你的目标平台是什么?你正在制作一个网站或某种客户端/服务器应用程序?有很多工具可以帮助您找到漏洞。防止SQL注入攻击的最佳方法是在服务器端构建SQL查询字符串 – 2012-01-18 06:21:52

回答

3

我不认为有任何单独的库,会自动清理您的输入,这涉及到如何创建您的查询。 OWASP Wiki提供了一些防止SQL注入的示例和技巧,包括Prepared Statements和Hibernate的一些Java示例。

3

在Java中,您通常不直接使用DLL。 DLL是Windows特有的本地库。在Java中,库通常打包为JAR(Java ARchive)文件。网络上有成千上万的开源Java库,几乎可以满足您的任何需求。

SQL可以通过PreparedStatement对象在Java中防止注入,所以我需要知道是否有图书馆,可以帮助我做到这一点

你并不需要一个库,你只需要使用PreparedStatement并通过PreparedStatement中的set...()方法设置要放入sql语句中的值,而不是将它们串联到SQL字符串中。数据库的jdbc驱动程序将自动处理转义值以防止SQL注入攻击。