- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 的办法
您可能关注的文档
最近下载
- 巨野青年路南拆迁规划方案.pptx VIP
- DBJ_T 13-491-2025 福建省建筑修缮工程施工质量验收标准.docx VIP
- 曲靖市 2024-2025学年秋季学期教学质量监测九年级数学试题卷.pdf VIP
- DBJ33_T 1345-2025 城镇河道工程施工及质量验收标准.docx VIP
- DBJ33_T 1355-2025 装配式地下连续墙技术规程.docx VIP
- DBJ51_T 233-2023 四川省光伏建筑一体化应用技术标准(CTP).docx VIP
- 08BJ9-2室外工程-路、台、坡、棚-常用建筑图集.docx VIP
- 108583_08BJZ8_住宅、厨卫排气道[1]-常用建筑图集.docx VIP
- 157158_58-08BJ2-9 外墙外保温(华北标BJ系列)-常用建筑图集.docx VIP
- DBJ51_T 233-2023 四川省光伏建筑一体化应用技术标准(CTP).docx VIP
原创力文档


文档评论(0)