SERVICE


云启未来,智造互联
企业上云升级,助力企业腾飞

iframe和sandbox从属关系,跨文档消息通信跨文档消息通信(crossdocumentmessaging)

发布时间:2016-12-15 13:30:15您的位置: > 微信开发,小程序开发 > 正文

iframe和sandbox如果从从属关系来说,iframe并不属于一个API,但是我们在讨论到HTML5的通信类知识时,总是愿意讨论一下iframe的相关问题和新增的sandbox(沙盒)属性。众所周知,在过去(由于技术革新并没有非常明显的时间分界线,我们只能含糊地称之为“过去”)很长一段时间里.iframe曾经帮助我们解决了很多的需求问题,比如将其应用在聊天室、短消息提醒、局部刷新的新闻、天气预报等相关软件上。由于跨源安全问题的爆发,iframe–度被认为是不安全的,有些杀毒软件甚至认为只要iframe跨了源就是病毒,处理起来也很粗暴。而sandbox属性很好地解决了这个问题。从软件安全的角度来看,sandbox是一种工程机制,通过限制被嵌入内容所允许的操作而提升iframe的安全性。这种机制将沙盒中的内容与父源页面进行了隔离,因此被iframe引入的内容也就被限制了权限,起到了安全过滤和防护的作用。假设你现在正在访问A网站的index.html页面,而index.html页面通过iframe调用了B网站的hack.html页而(这是一个携带着恶意程序的页面)o使用sandbox属性,就可以采用如下代码进行访问而不用担心安全问题:这样设置可以非常简单而有效地解决iframe可能带来的安全隐患,而且sandbox还可以根据需要,设置不同的值来读取,例如:

济南网站建设公司在上面的代码中,我们采用iframe调用另外一个页面时,采用了sandbox属性,并设置了两个差}费【【allow-forms和allow-scriptso注意在设置多个参数时,不同的参数之间用空格隔开即可.在这里,我们不再一一介绍每个参数的用法,只提供一个参数说明表(见表34)供读者参考。请读者在练习时多多体会几个参数的不同之处,并在实际工作中按需设置。allow-scriptsallow-formsallow-same-originallow-top-navigationms-allow-popups允许在沙盒中执行JavaScnpt脚本允许在沙盒中提交表单允许在沙盒中存取由同源完全策略①保护的API.例如:locaIStorage(本地存储)API、cookie、XMIHttpRequesc相同源下的文件允许在沙盒中将内容变更为最顶层的窗口允许在沙盒中弹出窗口3.5.4跨文档消息通信跨文档消息通信(CrossDocumentMessaging),是一种为文档与文档之间、窗口与窗口之间、标签与标签之间、页面框架与页面框架之间互相通信而作出的设计,这个设计大大增加了浏览器内的本地通信能力,为济南网站建设公司Web架构人员扩大了思维空间,是一项重大的技术革新。下面我们先看一下目前市面上主流浏览器对此项功能的支持情况,如表3·5所示。表3-5浏览器对跨文档消息通信的支持情况浏览器支持情况2.0及以上版本支持3.0及以上版本支持8.0及以上版本支持9.6及以上版本支持4.0及以上版本支持1.postMessageAPI搞过Windows臬面应用程序开发的可能都知道,Windows的API下有—个postMessageAPI,鉴于这样的API设计思路,现在HTML5体系下也有一个类似的API,此API专门用于窗口间的通信。下面本节将就此API的应用予以介绍。●判断浏览器是否支持postMessageAPI下面这个例子很常见,用于对浏览器能力进行检测:if(typeof(window.postMessage)===undefined){//谊测览嚣不支持postMessage微软官方的MSDN对这种方法予以否定。在实际的运用中,这段代码的问题确实存在。例如,在Opera浏览器和IE浏览器下,typeof(window.postMessage)返回的是一个_function_字符①同源安全策略(same-originpolicy)是一种安全保护机制,这种机制的原理是:南同一个网站内部互相点击产生的访问是安全的,而由外部或者不同的网站产生的访问是危险的、不安全的。

梦之网科技 http://www.mzwkj.com

梦之网科技
本文网址:http://www.mzwkj.com/news/830.html

济南梦之网科技:济南网站建设,济南网站设计公司,网站建设开发公司,专业网站制作公司,拥有专业的技术团队,一流的服务团队.专业团队为您提供网站设计,网站定制服务,公众号应用开发,微信小程序开发,为用户提供成套解决方案,智能农业物联网系统

您可能感兴趣