iframe的安全问题
今天尝试在iframe
中嵌入外部网站, 碰到了一些小问题.
如何让自己的网站不被其他网站的iframe
引用?
我测试的时候发现我把iframe
的src
指定到github不起作用. 原来是它把X-Frame-Options
设置为了DENY
, 这样就禁用了别的网站的iframe
引用, 避免点击劫持(clickjacking).
X-Frame-Options
有三个可能值: DENY
, SAMEORIGIN
, ALLOW-FROM uri
.
详见: The X-Frame-Options response header
如何禁用自己iframe
中链接的外部网站的JS?
我发现我把一个外部网站引入到我的iframe
中时, 该网站的恶心JS会让我的网页跳转到它的网站! 蛋疼. 但是我在测试的是否发现, Codepen就能够避免这个跳转, Console中有信息:
Unsafe JavaScript attempt to initiate navigation for frame with URL 'http://codepen.io/lzl124631x/pen/jWeOPL' from frame with URL 'http://keepvid.com/?url=https://www.youtube.com/watch?v=wY2vhSb3cVo'. The frame attempting navigation of the top-level window is sandboxed, but the 'allow-top-navigation' flag is not set.
(anonymous function) @ ?url=https://www.youtube.com/watch?v=wY2vhSb3cVo:108
?url=https://www.youtube.com/watch?v=wY2vhSb3cVo:579 GET http://www.5kplayer.com/kvads/keepvid-728-90.png net::ERR_BLOCKED_BY_CLIENT
原来是iframe
的属性sandbox
的作用.
sandbox
属性可以设置的值包括:
allow-forms
allow-modals
allow-orientation-lock
allow-pointer-lock
allow-popups
allow-popups-to-escape-sandbox
allow-same-origin
allow-scripts
allow-top-navigation
如果给iframe
加上sandbox="allow-forms allow-scripts"
, 就会打开allow-forms
和allow-scripts
两个选项, 其他的全部禁用.
如果想禁用让外部网站的JS, 不要加allow-scripts
就好了.
如果想禁用外部网站的JS跳转, 不要加allow-top-navigation
就可以了.
详见: <iframe> Sandbox
iframe的安全问题相关推荐
- iframe嵌套其它网站页面详解
iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了. <iframe src="demo_iframe_sandbox.htm" ...
- Web安全:常见的安全问题及防范措施
前言 随着互联网的高速发展,信息安全问题已经成为行业最为关注的焦点之一.总的来说安全是很复杂的一个领域,在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,还时常遭遇网络劫持.非法 ...
- Web前端之iframe详解
最近在做项目,在实现前端页面的时候遇到很多问题,开发进度很慢,实现一个功能基本上都是在走弯路,也不知道如何实现才是最好的选择,所以就一直在爬坑,在实现一个页面数据编辑的功能的时候就需要使用一个ifra ...
- iframe嵌套详解
目录 iframe基本内涵 获取iframe里的内容 在iframe中获取父级内容 iframe的轮询 iframe长轮询 自适应iframe之蜜汁广告 自适应iframe iframe安全性探索 防 ...
- iframe和iframe实现页面内嵌套一个页面(jsp)
相信刚学习javaweb的同学都十分好奇页面上点击一个按钮下面就显示一个页面,点击不同的导航栏按钮,下方就会显示不同内容,这就用到了iframe标签的src属性.下面就给大家介绍一下iframe的使用 ...
- angular7 + ng-zorro-antd 开发问题小记
压缩打包 ng build --prod --build-optimizer // 编译后进一步压缩文件的大小 打包遇见的问题: 超过budgets WARNING in budgets, maxim ...
- HTML 学习笔记 0
HTML入门 语义化标签 HTML解释器会将连续出现的空白字符减少为一个单独的空格符 在HTML中,字符 <, >,",' 和 & 是特殊字符,可以通过 等价字符引用 代 ...
- iframe安全问题
1.iframe 有些时候我们的前端页面需要用到第三方提供的页面组件,通常会以iframe的方式引入.典型的例子是使用iframe在页面上添加第三方提供的广告.天气预报.社交分享插件等等. ifram ...
- iframe 父子页面相互访问,iframe属性、安全问题
iframe是html标签,具有一般标签的属性: width iframe的高度 height iframe的宽度 src iframe里面加载的页面url name 可以通过window.frame ...
最新文章
- Jmeter脚本录制(APP)
- ANSI, UNICODE与UTF8相互转换模板类
- C++11之thread线程
- 多样性文本生成任务的研究进展
- HDU - 4612 Warm up(边双缩点+树的直径)
- chrome浏览器中解决embed标签 loop=true 背景音乐无法循环的问题。
- PHP双码率视频云转码服务系统源码 m3u8切片秒切
- python写exploit采集器
- OC基础--block
- 有关判读flex 模板载入是否结束的一些问题。
- JAVA常用框架及漏洞
- html 选择题代码,JS实现简单的选择题测评系统代码思路详解(demo)
- 电脑上的歌曲怎么传到苹果手机上面,怎么把电脑上的歌导入苹果手机
- 电脑键盘部分按键失灵_Win7系统键盘部分按键失灵了怎么办?
- java queue GATK_gatk4使用总结
- iOS 常用第三方开源框架介绍
- 退出卸载360、QAX 天擎,无需密码
- Postek博思得打印机
- 网络上经常使用的简单投票代码
- 水晶报表Crystal Reports XI服务器版
热门文章
- Premiere新冠病毒视频介绍病毒知识讲解视频PR模板
- linux系统中使用chattr命令的,linux chattr命令
- jna 构造函数_【JNA探索之路系列】之二:JNA API
- 十大券商:稳经济一揽子政策将起效
- 64位微处理器_MCU芯片市场研究:主导8位MCU,但32位MCU受欧美和日本高度垄断
- HTML5 localStorage设置失效时间,使用store.js
- jQuery 来了--动画,停止动画,回调函数Callback,链
- 牛客小白月赛27题解(部分)
- 基于抓劈腿一事浅谈潜行追踪分析与实用技巧
- “甜心教主”回归 王心凌新专辑全是书名?