亲测遇到dwr的A request has been denied as a potential CSRF attack错误的解决方案

时间:2023-01-20 18:32:47

今天刚刚开始了解dwr并在网上下了个中文文档学习,好不容易参照文档照做了个demo,就遇到这样一个问题,后台打印错误信息:“A request has been denied as a potential CSRF attack.” 然后百度出了解决方案,亲测有效!

第1步:在web.xml中添加如下代码:

<!-- 添加corssDomainSessionSecurity参数 --> <init-param>
    <param-name>crossDomainSessionSecurity</param-name>
    <param-value>false</param-value>
</init-param>

网上说参数corssDomainSessionSecurity是在dwr版本2.0才有的.默认值为true,也就是禁止其他域发送请求.若设置成false后,就能够从其他域进行请求但这样做会在安全性上有一些冒险。

第2步:将JSP文件中所引用的js文件engine.js的方式改成下面的方式:

<script type='text/javascript' src='dwr/util.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/interface/service.js'></script>

然后运行就没有错误了,为什么这样做能运行就不清楚了,有知道的大神可以赐教!