当前位置: 首页 > 面试题库 >

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

郭曾笑
2023-03-14
问题内容

我应该怎么做才能防止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" /> 


 类似资料:
  • 我一直在做一个登录/注册系统,我正在接近完成我的注册部分代码。我遇到的唯一问题是如何使它使用户不能用重复的用户名注册。我想让它工作,使我的数据库不会接受信息,它会告诉用户有关错误。 我的PHP

  • 我有一个父pom,它为我的其他组件提供所需的版本号变量 您必须使用分类器将补充工件附加到项目中,而不是替换它们 我发现这是因为jar打包固有的maven jar插件默认绑定,但我正在进行war打包,所以在war打包之后,默认jar执行开始并抛出上面的一个。任何停止违约的解决方案都将帮助我提前感谢。

  • 我用的是JavaFX。 当某个文件没有加载时,我希望阶段关闭,该实例中的代码停止执行。

  • 问题内容: 我有一个php脚本,我在CentOS上每10分钟通过cron执行一次此脚本。 问题是,如果cron作业将花费10分钟以上,则将启动同一cron作业的另一个实例。 我尝试了一个技巧,那就是: cron作业启动时,使用php代码创建了一个锁定文件(类似于pid文件)。 作业完成后,使用php代码删除了锁定文件。 当任何新的cron作业开始执行脚本时,我检查了锁定文件是否存在,如果存在,则中

  • 我有一个可拖动的元素,在它里面,我有一个带有onclick事件的组件。在拖动结束时,将触发单击事件。我的可拖动元素看起来像这样。我使用了一个名为react-draggable的包。 头盔组件内部有onClick事件,它会打开一个对话框。当我拖动并释放该元素时,将打开此对话框。我的问题是如何防止这种行为,以及如何将它们与事件分开? 谢谢

  • 问题内容: 我目前正在使用以下查询来使用php获取mysql中的值: 该代码正在运行,但是现在我担心sql注入。 如何防止SQL注入? 这样安全吗? 问题答案: 来自WordPress Codex,关于保护查询免受SQL注入攻击 : 如果进一步向下滚动,则有一些示例。 您还应该阅读数据库验证文档 ,以更全面地了解WordPress中的SQL转义。