TA的每日心情 | 奋斗 2019-10-18 11:20 |
---|
签到天数: 678 天 [LV.9]以坛为家II
|
本帖最后由 yun 于 2018-2-28 13:35 编辑
对上一篇 web安全策略之iframe sandbox 的相关设置,其实还没有完全可以杜绝子页面控制父页面进行跳转。
设置sandbox为空时,只能杜绝除了IE浏览器之外的浏览器,但是用IE浏览器打开的话,父页面依然被子页面进行控制,最终还会进行跳转。
这里要联合security属性一起来杜绝子页面给父页面带来的跳转(或是说带来的不安全因素),设置security属性,主要可以防止IE浏览器这边的跳转
那到底如何设置呢?很简单,只要在iframe标签里面加一个属性security即可,属性值为:restricted。
即增加两个:security="restricted" sandbox="",前者是IE的禁止js的功能,后者是HTML5的功能。刚好就可以让IE,Chrome,Firefox这三大浏览器都实现了禁止iframe的自动跳转
实验什么的你们就自己去测试,写三个网页程序,一个网页程序只带一个sandbox;另一个网页只包含security;最后一个则同时包含sandbox和security两个属性
最后就是测试,看下效果。在子页面(即被嵌入的页面)里设置该页面被别人调用iframe进行跳转。怎么设置,只要加一个js即可,js内容如下:- <script type="text/javascript">
- if (self!=top){
- window.top.location.replace(self.location); //打开自己网站的页面
- }
- </script>
复制代码 对于上面这种跳转,起不到完全作用。后续给大家讲解如何才能完全防止网页被别人iframe
到这里就结束了。
|
|