Spring CSRF不适用于带有文件上传的多部分表单。它适用于其他请求。我的web.xml如下所示-
<filter>
<filter-name>MultipartFilter</filter-name>
<filter-class>org.springframework.web.multipart.support.MultipartFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MultipartFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...
some more filters
...
<filter>
<filter-name>csrfFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>csrfFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
我已经在appcontext servlet中定义了这个bean。xml-
<bean id="filterMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000000" />
</bean>
我还定义了csrfFilter。定义了filterMultipartResolver bean后,我被重定向到默认的404页面。如果没有bean,我会得到一个错误页面,说我发送了一个空令牌。当我在chrome developer tools中看到该请求时,它包含以下部分以及表单的其余部分(令牌已附加两次,因为我正在使用javascript执行此操作,一次是在页面加载时,一次可能是在发送时。我缺少什么?
------WebKitFormBoundaryHMYSQ8eg6FXpxqDA内容配置:表单数据;name=“\u csrf”
16a983e0-a115-43d9-aa72-09c9576d53df ------WebKitFormBoundaryHMYSQ8eg6FXpxqDA内容配置:form-data; name="_csrf"
16 a 983 e 0-a 115-43 d 9-a 72-09 c 9576 d 53 df
我不知道您是否已经解决了这个问题,但即使是我也遇到了与您相同的问题,包括类似的代码。我的唯一区别是:
<filter>
<display-name>springMultipartFilter</display-name>
<filter-name>springMultipartFilter</filter-name>
<filter-class>org.springframework.web.multipart.support.MultipartFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>springMultipartFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>csrfFilter</filter-name>
<servlet-name>customApplication</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>customApplication</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>customApplication</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我们正在尝试通过多部分文件上传过程上传文件。通过使用下面给出的代码: //4.完成多部分上传。 通过使用此代码,文件被转换成多部分,但不可用于上传文件。它通过print_r显示这种类型的错误: 上传 /tmp/phplA534j.第2部分 正在上载/tmp/phplA534j的第3部分。 你能帮帮我吗?
为了解决这个问题,我还添加了一个MultipartResolver 很可能是一些愚蠢的东西,但我找不到我错过的东西。
我试图执行一个对jaxrs服务的请求,该服务的媒体类型设置为。这个请求包含一个实体列表(xml)和一个映像(png,二进制)。我已经通过Balusc创建了这个线程中描述的请求。 在wireshark中检查后,请求似乎可以,除了ip头校验和错误之外。(表示“可能是由ip校验和卸载引起的”) 我这里最大的问题是如何在服务端处理多部分请求。我不希望包含Apache.cxf、resteasy或任何类似的库
问题内容: 这并不是一个真正的问题,但是,我想在这里共享我的一些工作代码,以供您在需要时参考。 众所周知,自API22起已弃用该方法,并自API23起将其完全删除。目前,我们无法再在Android Developer上访问HttpEntity Reference(404)。因此,以下是我在带有Volley且没有HttpEntity的POST Multipart Request中工作的示例代码。工作
我需要关于使用PHP5.3上传AWS多部分的帮助,我使用的是1.WAMP服务器。2.PHP 5.3 3.操作系统:Windows 8我正在尝试将一个大文件上传到My Amazon S3存储桶。 尝试了很多方法。我按照http://docs.aws.amazon.com/AmazonS3/latest/dev/LLuploadFilePHP.html的代码程序 我写了PHP代码,但我不知道我犯了什么
我试图实施ProLoser在我的Plunk链接中提供的解决方案。我的问题是,每当我按下链接而不是打开链接下方的子视图时,它就会覆盖整个视图。 我需要明白如何解决这个问题。 我的流程是这样的:- 我的布局: 指数html: 所容纳之物html: 我的代码: