在Spring MVC中防止XSS

时间:2012-05-07 19:09:07

标签: spring-mvc xss

我知道之前有人问过这个问题,但我正试图弄清楚如何防止我的Spring MVC Web应用程序出现XSS攻击。

1)我将以下内容添加到我的web.xml

<context-param>
    <param-name>defaultHtmlEscape</param-name>
    <param-value>true</param-value>
</context-param>    

2)在将表单命令对象中的每个属性保存到数据库中之前,我是否还应该使用Commons StringEscapeUtils.escapeHtml()?我是否还需要在某些方面取消观看?

由于

3 个答案:

答案 0 :(得分:2)

即使默认情况下转义html会在很多情况下停止XSS,但肯定会出现无效的情况。在这里查看示例: http://erlend.oftedal.no/blog/?id=124 我建议你看看OWASP XSS预防作弊表。它解释了何时需要使用不同的转义。 关于2在将其放入数据库之前不要逃避。转义例程可能有错误,您无法确定每次都在相同的上下文中使用数据

答案 1 :(得分:2)

我更喜欢你在你的应用程序上尝试使用HDIV api来实现这种数据安全性。它可以防止对您的Web应用程序进行此类和其他7种不同的攻击。我目前正在探索与Spring Framework一起使用的相同API。

Click here for HDIV home page.

希望这会对你有所帮助。

答案 2 :(得分:2)

目前,我决定清理我的数据并删除所有HTML标记以避免JavaScript攻击。

我正在使用Jsoup api来做到这一点。

http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer