javascript跨域解决方案.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Javascript 跨域访问解决方案 在客户端编程语言中,如 javascript 和 ActionScript,同源策略是一个很重要的安全理念, 它在保证数据的安全性方面有着重要的意义。同 源策略规定跨域之间的脚本是隔离的,一 个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。那么什么叫相同域,什么叫 不同的域呢?   同源策略   在客户端编程语言中,如 javascript 和 ActionScript ,同源策略是一个很重要的安全 理念,它在保证数据的安全性方面有着重要的意义。同源策略规定跨域之间的脚本是隔离的, 一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。那么什么叫相同域,什么 叫不同的域呢?当两个域具有相同的协议(如http), 相同的端口(如80),相同的host (如), 那么我们就可以认为它们是相同的域。比如 和是同域,而, , , 中的任何两个都将构成跨域。 同源策略还应该对一些特殊情况做处理,比如限制file 协议下脚本的访问权限。本地的 HTML 文件在浏览器中是通过 file 协议打开的,如果脚本能通过 file 协议访问到硬盘上其它 任意文件,就会出现安全隐患,目前 IE8 还有这样的隐患。   受到同源策略的影响,跨域资源共享就会受到制约。但是随着人们的实践和浏览器的进 步,目前在跨域请求的技巧上,有很多宝贵经验的沉淀和积累。这里我把跨域资源共享分成 两种,一种是单向的数据请求,还有一种是双向的消息通信。接下来我将罗列出常见的一些 跨域方式,以下跨域实例的源代码可以从这里获得。 什么是跨域 JavaScript 出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时 也给注入 iframe 或是 ajax 应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地 整理一下: 首先什么是跨域,简单地理解就是因为 JavaScript 同源策略的限制, 域名下的 js 无法操作 或是 域名下的对象。更详细的说明可以看下表: URL 说明 是否允许通信 /a.js 同一域名下 允许 /b.js /lab/a.js 同一域名下不同文件夹 允许 /script/b.js :8000/a.js 同一域名,不同端口 不允许 /b.js /a.js 同一域名,不同协议 不允许 /b.js /a.js 域名和域名对应 ip 不允许 4/b.js /a.js 主域相同,子域不同 不允许 /b.js /a.js 同一域名,不同二级域名 不允许(cookie 这种情况下也不 /b.js (同上) 允许访问) /a.js 不同域名 不允许 /b.js 特别注意两点: 第一,如果是协议和端口造成的跨域问题“前台”是无能为力的, 第二:在跨域问题上,域仅仅是通过“URL 的首部”来识别而不会去尝试 判断相同的 ip 地址对应着两个域或两个域是否在同一个 ip 上。 “URL的首部”指tocol +window.location.host, 也可以理解为“Domains, protocols and ports must match”。 接下来简单地总结一下在“前台”一般处理跨域的办法,后台 proxy 这种方案牵涉到后台配 置,这里就不阐述了,有兴趣的可以看看 yahoo 的这篇文章:《JavaScript: Use a Web Proxy for Cross-Domain XMLHttpRequest Calls》 1、document.domain+iframe 的设置 对于主域相同而子域不同的例子,可以通过设置 document.domain 的办法

文档评论(0)

LF20190802 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档