关闭

【bug】CSRF Security Error解决办法

标签: jsjavascript
784人阅读 评论(0) 收藏 举报
分类:

在myeclipse上部署项目,遇到如下问题:

错误描述:

org.directwebremoting.dwrp.BaseDwrpHandler - A request has beendenied as a potential CSRF attack.
org.directwebremoting.dwrp.BaseCallHandler - Exception whileprocessing batch
java.lang.SecurityException: CSRF Security Error

  atorg.directwebremoting.dwrp.BaseDwrpHandler.checkNotCsrfAttack(BaseDwrpHandler.java:85)
  atorg.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:76)
  atorg.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120)
  atorg.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141)
  atjavax.servlet.http.HttpServlet.service(HttpServlet.java:710)
  atjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)
  atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  atorg.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
  atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
  atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process (Http11Protocol.java:581)
  atorg.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>

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:83207次
    • 积分:1411
    • 等级:
    • 排名:千里之外
    • 原创:51篇
    • 转载:62篇
    • 译文:0篇
    • 评论:7条
    文章分类