安全功能
不完全是。
防止Java中的注入攻击来自“免费”提供您以某种方式做某事是正确的。例如:
不要通过连接字符串来创建SQL。相反,使用占位符创建SQL,并使用JDBC
PreparedStatement
进行编译/执行。在JSP中,使用
<c:out>
输出来自用户的任何数据。这自动HTML转义它来变性任何可能的注入nasties。
我使用你输入的所有东西,但数据来自用户的输入表单。如果我使用PreparedStatement作为例子,为了添加记录到我的数据库它会检查我的数据吗?所以我不需要在我的请求参数中使用这些函数,它来自客户端? – 2012-02-21 10:46:59
它不检查数据*本身*。相反,它会导致被视为单个SQL数据值包含了用户的输入参数......不论任何时髦的报价,等等,用户可能会尝试在SQL注入攻击利用的。 – 2012-02-21 11:25:25
这不是一个解决方案,只是一个建议,当它的安全性,我从来没有使用内置的功能,我经常写他们自己根据客户的要求,使用正则表达式,它们对这个非常强大的。
这太麻烦,有没有一些简单的方法来做到这一点? – 2012-02-21 10:37:31
这也是一个坏建议,除非你的安全性比其他人好。 (并且*思维*之间存在差异*你比实际*更好*) – 2012-02-21 10:44:53
斯蒂芬,为什么这会是一个不好的建议?你的意思是写自己的功能是一个不好的建议?相比之下,使用内置函数只能看到但不能编辑源代码? – JBoy 2012-02-24 14:51:43
你可以尝试春季安全库(.jar)文件
这给所有的功能,以避免网络相关的安全问题
这里是链接
http://static.springsource.org/spring-security/site/
你也可以找到的一些帮助owasp.com网站
http://owasp.com/index.php/Main_Page
相关:[XSS预防中的Java(http://stackoverflow.com/questions/2658922/xss-prevention-in-java) – BalusC 2012-02-21 18:37:58