问题描述:
dwr的Session Error问题
前台页面跳出session error的对话框
而控制台则输出:
2007-5-29 11:58:53 org.directwebremoting.util.CommonsLoggingOutput error
严重: A request has been denied as a potential CSRF attack.
的错误信息.
请求被拒绝因为可能存在csrf(cross-site request forgeries,跨站请求伪造)攻击.
也就是说页面URL可能被跨站了的服务所调用.
dwr的Session Error问题
前台页面跳出session error的对话框
而控制台则输出:
2007-5-29 11:58:53 org.directwebremoting.util.CommonsLoggingOutput error
严重: A request has been denied as a potential CSRF attack.
的错误信息.
请求被拒绝因为可能存在csrf(cross-site request forgeries,跨站请求伪造)攻击.
也就是说页面URL可能被跨站了的服务所调用.
在web.xml配置文件中dwr的配置加入corssDomainSessionSecurity这个配置选项..这个参数是在dwr版本2.0才有的.默认值为true,也就是禁止其他域发送请求.corssDomainSessionSecurity:设置成false能够从其他域进行请求.注意这样做会在安全性上有一些冒险.
01 | < servlet > |
02 | < servlet-name >dwr-invoker</ servlet-name > |
03 | < servlet-class >uk.ltd.getahead.dwr.DWRServlet</ servlet-class > |
04 | < init-param > |
05 | < param-name >debug</ param-name > |
06 | < param-value >true</ param-value > |
07 | </ init-param > |
08 | < init-param > |
09 | < param-name >crossDomainSessionSecurity</ param-name > |
10 | < param-value >false</ param-value > |
11 | </ init-param > |
12 |
13 | < load-on-startup >1</ load-on-startup > |
14 | </ servlet > |
15 | < servlet-mapping > |
16 | < servlet-name >dwr-invoker</ servlet-name > |
17 | < url-pattern >/dwr/*</ url-pattern > |
18 | </ servlet-mapping > |