dwr的A request has been denied as a potential CSRF attack.错误

虽然DWR是个很早就出现的Ajax框架,但一直都没去使用过,今天正好没事就看了一下并参照文档照做了个demo,

在其中碰到一个问题:

后台打印出错误信息:“严重: A request has been denied as a potential CSRF attack.” 在网上google一把

之后,出现此错误的原因大都是说“请求被拒绝,可能存在csrf(cross-site request forgeries,跨站请求伪造)攻击、

页面URL可能被跨站了的服务所调用之类的”,但是我这里只有一个简单的测试页面,是根本不存在什么所谓的跨站请求的,

但不知道为什么?希望有知道的朋友告诉一下我,万谢!

不过最后还是通过网上搜索给解决了,得到以下两种解决方案:

1、在web.xml配置文件中修改dwr的配置:

[xhtml] view plaincopy

  1. Xml代码
  2. <servlet>
  3. <servlet-name>dwr-invoker</servlet-name>
  4. <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  5. <init-param>
  6. <param-name>debug</param-name>
  7. <param-value>true</param-value>
  8. </init-param>
  9. <!-- 新加corssDomainSessionSecurity参数 -->
  10. <init-param>
  11. <param-name>crossDomainSessionSecurity</param-name>
  12. <param-value>false</param-value>
  13. </init-param>
  14. </servlet>
  15. <servlet>
  16. <servlet-name>dwr-invoker</servlet-name>
  17. <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  18. <init-param>
  19. <param-name>debug</param-name>
  20. <param-value>true</param-value>
  21. </init-param>
  22. <!-- 新加corssDomainSessionSecurity参数 -->
  23. <init-param>
  24. <param-name>crossDomainSessionSecurity</param-name>
  25. <param-value>false</param-value>
  26. </init-param>
  27. </servlet>

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

2、将JSP文件中所引用的js文件engine.js的方式,由<script type="text/javascript" src="js/engine.js"></script> 更改成:<script type="text/javascript" src="dwr/engine.js"></script>。不知道为什么这样就可以啦,而

引用js目录下就会报错。希望有知道朋友,不吝赐教,在下感激不尽!

关注流行国外网站

facebook:http://www.fb-on.com

facebook官网:http://www.facebookzh.com

facebook:http://www.cn-face-book.com

facebook:http://www.vivcall.com

youtube:http://www.youtubezh.com

twitter:http://www.twitterzh.com

时间: 2024-11-03 22:33:48

dwr的A request has been denied as a potential CSRF attack.错误的相关文章

A request has been denied as a potential CSRF attack错误解决方法

2018-05-30 13:40:50 [http-nio-8081-exec-3] [ERROR] com.opensymphony.xwork2.interceptor.ParametersInterceptor -Developer Notification (set struts.devMode to false to disable this message):Unexpected Exception caught setting 'id' on 'class com.huoq.adm

使用TarOutputStream出现 request to write &#39;1024&#39; bytes exceeds size in header错误的解决方法

因为测试流程中,所测客户端会根据服务器A返回的response决定发送给服务器B的请求里各参数的值,所以现在需要模拟服务器的响应.而这个项目服务器A的响应式返回一个流,一个GZIP压缩格式流,压缩的是多个文件,所以需要编写相应的groovy脚本.我这里使用了apache的ant包.不过在运行的时候出错了.错误提示如下 Caught: java.io.IOException: request to write '1024' bytes exceeds size in header of '2988

spring rest项目提示Request method &#39;PUT&#39; not supported Method Not Allowed 405 错误

{ "timestamp": "2019-04-28 17:43:07", "status": 405, "error": "Method Not Allowed", "message": "Request method 'PUT' not supported", "path": "/customer" } 今天项目发布后,发现

PHP &quot;Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0&quot; 错误

遇到这个问题,研究了很久,结果发现上传的文件的全部没有读权限 不只是文件夹,上传的文件也要至少添加+444的权限,也就是读的权限 Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 Fatal error: Unknown: Failed opening required '/mnt/yun0/api/login.php' (include_path='.:/opt/lampp/lib/p

Linux下-bash: Permission denied 或者 sudo: command not found 错误

有时候执行一个脚本或者运行一个可执行文件时,如执行脚本./foo.sh,会报错-bash: ./foo.sh: Permission denied,你会再试sudo ./foo.sh,发现继续报错sudo: foo.sh: command not found,这时候可能是因为该文件没有执行权限,可以通过ls -l foo.sh查看文件信息,如果确实没有,可以为文件增加执行权限 chmod +x foo.sh 这个时候就可以运行了. 参考Command not found when using s

DWR笔记

DWR笔记 一.相关信息: 1.      概述:开源框架,允许前端JS用Ajax方式调用后台Java代码.很常用很重要. 2.      原理:DWR定义了一套JS,通过JS向后台发请求,请求路径为/dwr/*,在web.xml文件中配置的DWR可以将请求发给相应的servlet,该servlet通过参数用反射机制动态调用java代码,参数配置在dwr.xml文件中. 3.      优点:开发效率高,使用框架的开发效率都非常高: 缺点:反射机制是动态加载相应的类的,所以执行效率低,但也低不到

scrapy_Response and Request

scrapy中重要的两个类是什么? Requests.Response 什么是Requests? 网页下载 有哪些参数? url callback headers     # 头部信息 cookie                             # 会自带cookie meta                               # request和response中添加信息 encoding                        # 默认utf8,可自定义添加 pri

Djang——CSRF verification failed. Request aborted

Forbidden (403) CSRF verification failed. Request aborted. Help Reason given for failure: CSRF token missing or incorrect. In general, this can occur when there is a genuine Cross Site Request Forgery, or when Django's CSRF mechanism has not been use

redis 报错 &quot;CONFIG REWRITE failed: Permission denied&quot;

无意中看到了redis的config rewrite这个命令.闲来无聊,所以打算自己做个实验.下面的文章是redis关于config rewrite的描述信息: CONFIG REWRITE 命令对启动 Redis 服务器时所指定的 redis.conf 文件进行改写: 因为 CONFIG SET 命令可以对服务器的当前配置进行修改, 而修改后的配置可能和 redis.conf 文件中所描述的配置不一样, CONFIG REWRITE 的作用就是通过尽可能少的修改, 将服务器当前所使用的配置记录