Web应用程序中的CSRF保护

fas*_*ser 6 java apache spring csrf

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

<form:form method="post" action="my.controller" enctype="multipart/form-data" id="form">
Run Code Online (Sandbox Code Playgroud)

所有的东西通过我们从更新了Apache的版本时工作得很好 httpd-2.2.3httpd-2.2.15.

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

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

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

RewriteRule /url/mycontroller.controller - [E = CSRF_IGNORE:yes]

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