小编典典

如何防止人们在Spring MVC中执行XSS?

spring

我应该怎么做才能防止Spring MVC中的XSS?现在,我只是将输出用户文本的所有位置都放入JSTL <c:out>标签或fn:escapeXml()函数中,但这似乎容易出错,因为我可能会错过一个位置。

有没有简单的系统方法可以防止这种情况?也许像过滤器之类的?我通过@RequestParam在控制器方法上指定参数来收集输入。


阅读 875

收藏
2020-04-11

共1个答案

小编典典

在Spring中,你可以从<form>标记生成的JSP页面中转义html 。这为XSS攻击提供了很多途径,并且可以通过以下三种方式自动完成:

对于web.xml文件中的整个应用程序:

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

对于文件本身中给定页面上的所有表单:

<spring:htmlEscape defaultHtmlEscape="true" /> 

对于每种形式:

<form:input path="someFormField" htmlEscape="true" /> 
2020-04-11