java – Web应用程序中的CSRF保护

我的应用程序具有Apache模块提供的CSRF保护.我的应用程序包含几个页面,允许上传一些文件,如下所示:

当我们将apache版本从httpd-2.2.3更新为httpd-2.2.15时,所有工作都运行正常.

我已经google了一段时间,发现问题可能与我的表单中的multipart / form-data参数有关.在这种情况下,表单发送为不安全.另外我发现spring可以通过Spring doc http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html#csrf-multipartfilter中的MultipartFilter处理上面的内容

我是CSRF新手.很高兴知道可以使用带有apache配置的spring CSRF保护来处理这种情况.

此外,我找到了解决方法,我可以为所需的URL禁用CSRF,例如

RewriteRule /url/mycontroller.controller – [E=CSRF_IGnorE:yes]

但我不确定哪一个是正确的.

最佳答案
以下是我的建议:

如果不需要,请删除enctype,因为某些CSRF库(包括CSRF Guard)不支持multipart / form-data.

如果使用隐藏属性设置CSRF令牌,请尝试在action属性中附加令牌.
这是这个链接https://code.google.com/p/csrf-filter/

如果您仍然遇到同样的问题,则可能必须从CSRF检查中排除该URL.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...