浏览器拦截跨域请求处理方法-firefox报错,同源策略不允许读取XXX上的远程资源

使用post请求域名不相同的资源的话,可以用cors跨域。

1) 在被请求的项目根目录(root下)下放以下文件

crossdomain.xml

  1. [html] view plaincopyprint?

    1. <?xml version="1.0"?>
    2. <!DOCTYPE cross-domain-policy SYSTEM "./cross-domain-policy.dtd">
    3. <cross-domain-policy> <site-control permitted-cross-domain-policies="all" />
    4. <allow-access-from domain="*" />
    5. <allow-http-request-headers-from domain="*" headers="*"/>
    6. </cross-domain-policy>

cross-domain-policy.dtd

[html] view plaincopyprint?

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!-- Adobe DTD for cross-domain policy files -->
  3. <!-- Copyright (c) 2008-2009, Adobe Systems Inc. -->
  4. <!ELEMENT cross-domain-policy (site-control?,allow-access-from*,allow-http-request-headers-from*,allow-access-from-identity*)>
  5. <!ELEMENT site-control EMPTY>
  6. <!ATTLIST site-control permitted-cross-domain-policies (all|by-content-type|by-ftp-filename|master-only|none) #REQUIRED>
  7. <!ELEMENT allow-access-from EMPTY>
  8. <!ATTLIST allow-access-from domain CDATA #REQUIRED>
  9. <!ATTLIST allow-access-from to-ports CDATA #IMPLIED>
  10. <!ATTLIST allow-access-from secure (true|false) "true">
  11. <!ELEMENT allow-http-request-headers-from EMPTY>
  12. <!ATTLIST allow-http-request-headers-from domain CDATA #REQUIRED>
  13. <!ATTLIST allow-http-request-headers-from headers CDATA #REQUIRED>
  14. <!ATTLIST allow-http-request-headers-from secure (true|false) "true">
  15. <!ELEMENT allow-access-from-identity (signatory)>
  16. <!ELEMENT signatory (certificate)>
  17. <!ELEMENT certificate EMPTY>
  18. <!ATTLIST certificate fingerprint CDATA #REQUIRED>
  19. <!ATTLIST certificate fingerprint-algorithm CDATA #REQUIRED>
  20. <!-- End of file. -->

测试从http://domain:port/crossdomain.xml可访问到这两个xml。

2.)被请求的目标在返回时需加Responseheader   Access-Control-Allow-Origin

response.setHeader("Access-Control-Allow-Origin", "*");

后面的*可以是请求方的域名。

参考:http://blog.csdn.net/hereiskxm/article/details/32093675

时间: 2024-08-26 13:21:28

浏览器拦截跨域请求处理方法-firefox报错,同源策略不允许读取XXX上的远程资源的相关文章

浏览器拦截跨域请求处理方法

解决跨域的解决办法有多种,比如jsonp,或者apache 或者nigix里面配置,或者后端的php或者java中配置 cross orgion. 在网上搜了一圈,发现处理方式都差不多,但是我们得清楚这些到底怎么用. 先看下这段代码: <?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-poli

浏览器拦截跨域请求处理方法(已阻止跨源请求:同源策略禁止读取远程资源)

原文地址:http://my.oschina.net/lichaoqiang/blog/317823 在浏览器请求中,出现跨域访问资源的问题,我们肯定会遇到.如果跨域请求被阻止,有可能导致css.js .ajax请求.font字体等资源出现无法正常访问的问题.接下来,就介绍下解决同源策略不允许读取远程资源的问题. 今天就谈下远程字体跨域的问题. 直接了当了说,解决此类问题,最直接的方法就是,就是给被请求的服务器,添加HTTP头响应头,这里提供两种添加HTTP头的方法: 第一种,就是在程序中添加H

浅谈配置chrome浏览器允许跨域操作的方法

本文出处:http://www.cnblogs.com/lyingSmall/p/5198624.html 在配置浏览器实现允许跨域之前,我们需要了解跨域的概念. 1:什么是跨域? 答:跨域是指从一个域名的网页去请求另一个域名的资源.比如从http://www.baidu.com/ 页面去请求 http://www.google.com 的资源.跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域.(答案出处:链接:https://www.zhihu.com/quest

AJAX跨域问题解决方法(1)——禁止浏览器进行跨域限制

思路:通过命令行修改浏览器启动参数,使得浏览器不进行跨域检查,从而允许跨域 方法:命令行参数启动浏览器后添加参数--disable-web-security 例:chrome --disable-web-security --disabl-web-security参数的作用是禁止浏览器进行跨域检查 但是,这种方法有三个缺点: 1.每次启动浏览器都需要通过命令行启动,太过繁琐 2.该方法会导致安全性方面的问题 3.该方法是客户端方面的改动,在实际使用中,在每个客户端上都禁止浏览器进行跨域检查不太现

最简单实现跨域的方法----使用nginx反向代理

原文: http://blog.csdn.net/shendl/article/details/48443299 什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制. 所谓同源是指,域名,协议,端口相同.浏览器执行javascript脚本时,会检查这个脚本属于那个页面,如果不是同源页面,就不会被执行. 同源策略的目的,是防止黑客做一些做奸犯科的勾当.比如说,如果一个银行的一个应用允许用户上传网页,如果没有同源策略,黑客

Js跨域解决方法总结

本文转载自网易博客 出于安全性的考虑,在AJAX应用中,浏览器通常都会限制跨域提交数据.但由于经常和其他部门有接口对接的业务需求,需要跨域获取数据. IE对于跨域访问的处理是,弹出警告框,提醒用户.如果用户将该网站纳入可信任网站,或者调低安全级别,那么这个问题IE就不会在提醒你.    FireFox等其它非微软的浏览器遇到跨域访问,则解决方案统一是拒绝访问. Huodong.qq.com 下的网站前端要获取act.qzone.qq.com下的接口数据 有3种解决方法 1.服务器端做代理 服务器

浏览器的跨域访问

一.浏览器介绍 对于Web应用来说,浏览器是最重要的客户端. 目前浏览器五花八门多得不得了,除了Chrome.IE.Firefox.Safari.Opera这些国外的浏览器外,百度.腾讯.360.淘宝.搜狗.傲游之类的,反正能做的都做了. 浏览器虽然这么多,但浏览器内核主要就以下4种: Trident:IE使用的内核. Gecko:Firefox使用的内核. WebKit:Safair和Chrome使用的内核.WebKit由苹果发明,Chrome也用了,但是Google又开发了V8引擎替换掉了W

Web安全技术(3)-浏览器的跨域访问

http://www.blogjava.net/linli/archive/2015/04/22/424584.html 一.浏览器介绍 对于Web应用来说,浏览器是最重要的客户端. 目前浏览器五花八门多得不得了,除了Chrome.IE.Firefox.Safari.Opera这些国外的浏览器外,百度.腾讯.360.淘宝.搜狗.傲游之类的,反正能做的都做了. 浏览器虽然这么多,但浏览器内核主要就以下4种: Trident:IE使用的内核. Gecko:Firefox使用的内核. WebKit:S

ajax原理和跨域解决方法

ajax是异步的 JavaScript 和 XML.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 1--启动  获取XMlHttpRequest对象             2--open 打开url通道,并设置异步传输              3--send 发送数据到服务器             4--服务器接受数据并处理,处理完成后返回结果              5--客户端接收服务器端返回