如何防止人们在Spring MVC中执行XSS?
我应该怎么做才能防止Spring MVC中的XSS?现在,我只是将输出用户文本的所有位置都放入JSTL <c:out>
标签或fn:escapeXml()
函数中,但这似乎容易出错,因为我可能会错过一个位置。
有没有简单的系统方法可以防止这种情况?也许像过滤器之类的?我通过@RequestParam
在控制器方法上指定参数来收集输入。
回答:
在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" />
以上是 如何防止人们在Spring MVC中执行XSS? 的全部内容, 来源链接: utcz.com/qa/428229.html