DWR CSRF Security Error

转载 2012年03月30日 14:36:37

错误描述:

org.directwebremoting.dwrp.BaseDwrpHandler - A request has been denied as a potential CSRF attack.
org.directwebremoting.dwrp.BaseCallHandler - Exception while processing batch
java.lang.SecurityException: CSRF Security Error

  at org.directwebremoting.dwrp.BaseDwrpHandler.checkNotCsrfAttack(BaseDwrpHandler.java:85)
  at org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:76)
  at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120)
  at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process  (Http11Protocol.java:581)
  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  at java.lang.Thread.run(Thread.java:619)

 

解决办法:

修改 web.xml 中 DWR 配置信息

原:

<servlet> 
      <servlet-name>dwr-invoker</servlet-name> 
     <servlet-class>org.directwebremoting.spring.DwrSpringServlet</servlet-class> 
     <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
  </init-param>
</servlet>

 

加入跨域调用配置信息(红色部分),修改为:

<servlet> 
      <servlet-name>dwr-invoker</servlet-name> 
      <servlet-class>org.directwebremoting.spring.DwrSpringServlet</servlet-class> 
      <init-param>
             <param-name>debug</param-name>
             <param-value>true</param-value>
      </init-param>
      <init-param>
             <param-name>crossDomainSessionSecurity</param-name>
             <param-value>false</param-value>
      </init-param>
      <init-param>
            <param-name>allowScriptTagRemoting</param-name>
            <param-value>true</param-value>
      </init-param>

</servlet>

spring security的csrf防御机制在ajax中的应用

spring security的csrf防御功能: 在jsp中使用如下代码: ... 上述代码中,等同于: 而,之所以使用spring的替代标签,是因为spring...
  • starrrr2
  • starrrr2
  • 2015年11月27日 20:12
  • 5299

Spring Security笔记:解决CsrfFilter与Rest服务Post方式的矛盾

基于Spring Security+Spring MVC的web应用,为了防止跨站提交攻击,通常会配置csrf,即: 1 http ...> 2 ... 3 ...
  • cwfreebird
  • cwfreebird
  • 2015年12月30日 11:01
  • 1052

在Spring Security中使用AJAX向后台传送数据

在Spring Security中使用AJAX向后台传送数据 AJAX 跨域 org.springframework.security.web.csrf.CsrfFilter - Invalid CS...
  • bnrmaster
  • bnrmaster
  • 2016年10月26日 23:30
  • 2150

让Spring Security更安全的配置办法

Spring Security, 不错的安全框架,但在实际项目中, 如何让安全更安全呢? 以下是在实际项目中总结的经验之谈. (以Spring Secuirty 4.0.1版本为基础) 1...
  • monkeyking1987
  • monkeyking1987
  • 2016年04月16日 21:02
  • 2566

同步令牌模式防范CSRF跨站请求伪造攻击

什么是“跨渣请求伪造”呢?这是信息安全领域的一个名词,译自英文“Cross Site Request Forgery”。 百度百科上介绍的很简单却很明了,大家可以看一下,我这里配合一些代码稍...
  • hong0220
  • hong0220
  • 2016年10月25日 14:57
  • 1232

Sping MVC Token防止表单重复提交

现在的网站在注册提交步骤中,由于后台要处理大量信息,造成响应变慢,在前端页面提交信息之前,等待后端响应,此时如果用户 再点一次提交按钮,后台会保存多份用户信息。为解决此问题,借鉴了struts2的t...
  • done58
  • done58
  • 2016年04月24日 21:30
  • 2300

一个SpringSecurity引发的表单提交乱码问题

这个问题困扰了大半个下午,好久没遇到耗时这么久的问题了,所以还是值得一写的。     最近在做一个工程,前后端交互用的是Spring4.3.1+SpringSecurity4.1.3+thymele...
  • mayp1
  • mayp1
  • 2016年10月04日 20:09
  • 1075

yii2发送异步请求中的小问题,有效处理csrf验证

最近在使用yii2,打算做一个通用的后台系统,实现用户登录和后台基本操作:登录操作采用系统自带的identify组件;后台界面采用bootstrap处理,模板采用网上的后台模板页,不过该模板boots...
  • zhangfei8625
  • zhangfei8625
  • 2015年02月02日 16:45
  • 3013

DWR+SpringMVC整合的3种方式之一

早上写了一篇dwr的基础文章,下午看了孔浩老师的dwr与springmvc的整合视频,自己跟着动手把各种方式都练习了一下,遇到些问题,记录给自己以后用dwr的时候复制吧。 方式一:各干各的,耦合度...
  • lxn39830435731415926
  • lxn39830435731415926
  • 2015年05月17日 23:01
  • 2267

Spring security防止跨站请求伪造(CSRF防护)

因为使用了spring security 安全性框架 所以spring security 会自动拦截站点所有状态变化的请求(非GET,HEAD,OPTIONS和TRACE的请求),防止跨站请求伪造(C...
  • unix21
  • unix21
  • 2016年07月15日 17:53
  • 1236
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DWR CSRF Security Error
举报原因:
原因补充:

(最多只允许输入30个字)