首页
学习
活动
专区
圈层
工具
发布

新窗口创建问题 | Electron 安全

a 标签和form标签,当 a标签的 target 属性被设置为 _blank 时,点击标签会创建新窗口 当 form 标签渲染的表达被提交时,也会打开新窗口 除此之外的 alert 等创建的弹窗就不在讨论的范畴了...,我们借 a 标签来理解,这几个特殊的关键字在 a 标签中完全支持 那 a 标签中 target 的意义是什么呢?...还是顶级导航的页面,还是干脆新打开一个标签/窗口来展示 _self:当前页面加载。(a标签默认) _blank:通常在新标签页打开,但用户可以通过配置选择在新窗口打开。...RCE 的 所以 target 属性就是指定你加载的资源要在哪个窗口(标签或 iframe) 中加载并显示,如果设置 _blank 就会打开新窗口,如果 target 的值指向一存在的窗口名字就会复用窗口...,所以开发者应该同时监听新窗口创建和导航,做更精细化地管理 a 标签和 form 标签设置 target="_blank" 时会被监听和拦截吗?

2.1K10

在新窗口中打开页面?小心有坑!

背景 产品需求来啦:点击页面上某个东西,要在新窗口中打开一个页面,注意!要在新窗口中打开。你呵呵一笑,太简单了: 打开的页面地址是固定的?直接a标签加上target="_blank"属性搞定。...点击第一个链接,也就是‘target _blank’字样的那个。 新页面显示'HACK成功,再看看上个TAB?'。然后你忍不住看回上一个页面。 看到第一行鲜红的提示:'你被HACK了啊!...3.2 性能问题 除了安全问题,例子2中还展示了简单地在新窗口中打开页面的性能问题。源页面中鬼畜的随机数之所以会卡顿,也是受新打开的窗口中的页面影响。...为什么新窗口中的页面会影响父页面的线程呢?chrome不是每个标签页一个单独的进程?然后进程内包含若干线程吗?...确实,chrome有不同的标签页面使用不同进程和线程,但是有个例外,通过a标签的target="_blank"属性,或者window.open(url)在新窗口中打开页面, 会与父窗口共用进程和线程。

6K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在新窗口中打开页面?小心有坑!

    背景 产品需求来啦:点击页面上某个东西,要在新窗口中打开一个页面,注意!要在新窗口中打开。你呵呵一笑,太简单了: 打开的页面地址是固定的?直接a标签加上target="_blank"属性搞定。...点击第一个链接,也就是‘target _blank’字样的那个。 新页面显示'HACK成功,再看看上个TAB?'。然后你忍不住看回上一个页面。 看到第一行鲜红的提示:'你被HACK了啊!...3.2 性能问题 除了安全问题,例子2中还展示了简单地在新窗口中打开页面的性能问题。源页面中鬼畜的随机数之所以会卡顿,也是受新打开的窗口中的页面影响。...为什么新窗口中的页面会影响父页面的线程呢?chrome不是每个标签页一个单独的进程?然后进程内包含若干线程吗?...确实,chrome有不同的标签页面使用不同进程和线程,但是有个例外,通过a标签的target="_blank"属性,或者window.open(url)在新窗口中打开页面, 会与父窗口共用进程和线程。

    4.8K10

    利用 target=_blank 进行前端钓鱼

    为什么大部分国外网站内链接不用 target="_blank"新窗口打开? Google 都是当前窗口打开;Baidu/Bing 都是新窗口打开。 用户将无法控制它在本页打开还是新窗口打开。...新窗口打开使任务栏更加地拥挤。 新窗口打开增加浏览器资源的消耗。 新窗口打开是后退按钮变得不可用。 用户更加期望新页面在当页载入 ---- 以上,并不是我们讨论的重点!...你可能不会注意到这一点,因为焦点位于新窗口中的恶意页面上,而重定向发生在后台。...新打开的窗口,可直接使用 window.opener 来访问来源页面的 window 对象 浏览器提供了完整的跨域保护,在域名相同时,parent 对象和 opener 对象实际上就直接是上一级的 window...如果,你的网站上有一个链接,使用了 target="_blank",那么一旦用户点击这个链接并进入一个新的标签,新标签中的页面如果存在恶意代码,就可以将你的网站直接导航到一个虚假网站。

    1.5K20

    修改博客文章链接为新窗口打开的方式

    经过思考,俺最终决定还是使用新窗口打开方式,变相留住访客,虽说我觉得可能造成用户体验不怎么友好(个人仍然喜欢原窗口方式,或许是因为守旧的性格吧!o(╯□╰)o)。...除插件之外,其实还有一种全局修改的方法:在 之间加上一句:target="_blank" />即可让所有链接都从新窗口打开了!...对于页面上的文章链接,就是进入主题编辑中,找到自己想要使用新窗口打开的链接,都加上了 target="_blank"的标签。。。 对于导航菜单,比如页脚导航,其实也有个技巧,根本不需要去修改代码!...方法很简单: 进入后台=>外观=>菜单=>右上角点开【显示选项】,勾上【链接目标】=>点开你需要设置的导航菜单,勾上【在新窗口或标签页打开链接】即可搞定。...现在,基本全部文章链接都实现了新窗口打开方式。而某些使用 php 函数输出的链接,比如: 侧边栏的标签: 随机推荐:<?

    2.2K60

    js控制浏览器新开窗打开页面

    2016-07-18 09:07:01 在a标签有一个属性为target,将其值设置为“_blank“,即可新开一个窗口打开页面,那么通过js也可以控制打开新的窗口来开启页面。...我们都知道form表单提交可以刷新页面,同时如果给form表单设置一个target同样也可以达到a标签的效果 form.target="_blank"; form.action="aaa.aspx";...form.submit(); 如上代码,页面中设置一个隐藏的form表单,只不过里面不放置任何东西,提交表单几个跳转到一个新的页面,同时是用一个新的窗口打开。...还有一个办法就是采用window.open()的方式,window.open方法可控制的样式丰富,比如我们可以控制窗口显示的大小,窗口显示的内容,以及位置等等。...都是使用js中的window.open有一个缺点就是容易被浏览器屏蔽。本文介绍了js中打开新窗口的各种方法。

    7.5K20

    在前端页面中使用Markdown并且优化a标签

    ,可以直接显示在页面上。...然而美中不足的是,可能受markdown默认语法的影响,对 a标签 的解析只有是当前页面打开,没有新窗口打开的语法。...我总共用了三种方法来增加target这一属性 直接暴力添加 最开始我是这么考虑的,在项目中一般都是在文章内容里才会用到markdown的语法。一般情况下文章内容中的跳转都会使用新窗口打开。...找到构造 a 标签的地方,在后面直接加上 target="_blank" 就可以了。...之后再新添加的a标签都带着 target="_blank" 属性。 虽然添加上了,但是仔细想想这种方式和没优化之前并没有什么区别,只是一个新窗口,一个不新窗口。没办法进行控制是最痛苦的。

    1.2K00

    利用 target=_blank 进行前端钓鱼

    为什么大部分国外网站内链接不用 target="_blank"新窗口打开? Google 都是当前窗口打开;Baidu/Bing 都是新窗口打开。 用户将无法控制它在本页打开还是新窗口打开。...新窗口打开使任务栏更加地拥挤。 新窗口打开增加浏览器资源的消耗。 新窗口打开是后退按钮变得不可用。 用户更加期望新页面在当页载入 ---- 以上,并不是我们讨论的重点!...你可能不会注意到这一点,因为焦点位于新窗口中的恶意页面上,而重定向发生在后台。...="_blank",那么一旦用户点击这个链接并进入一个新的标签,新标签中的页面如果存在恶意代码,就可以将你的网站直接导航到一个虚假网站。...="_blank"打开的新窗口,跟原来的页面窗口共用一个进程。

    70130

    检测自己网站是否被嵌套在iframe下并从中跳出

    它有3个可选值:DENY:拒绝所有SAMEORIGIN:只允许同源ALLOW-FROM origin:指定可用的嵌套域名,新浏览器已弃用后端检测(以PHP为例)通过获取$_SERVER中的HTTP_REFERER...window.open(window.location.href, '_blank');A标签点击转跳(较为推荐)当发生了用户交互事件,浏览器就不会阻止转跳了,所以这是个不错的方法。...target="_blank">点击进入博客JavaScript+A标签(最佳方法)原理是先使用JavaScript检测是否存在嵌套,如果存在嵌套...先给待会要显示的蒙版和A标签窗口设置样式/* 蒙版样式 */.overlay1 { position: fixed; top: 0; left: 0;...var link = document.createElement('a');link.href = 'https://www.9kr.cc';link.target = '_blank'; // 在新窗口中打开链接

    2.5K40

    检测自己网站是否被嵌套在iframe下并从中跳出

    它有3个可选值: DENY:拒绝所有 SAMEORIGIN:只允许同源 ALLOW-FROM origin:指定可用的嵌套域名,新浏览器已弃用 后端检测(以PHP为例) 通过获取$_SERVER中的HTTP_REFERER...window.open(window.location.href, '_blank'); A标签点击转跳(较为推荐) 当发生了用户交互事件,浏览器就不会阻止转跳了,所以这是个不错的方法。...target="_blank">点击进入博客 JavaScript+A标签(最佳方法) 原理是先使用JavaScript检测是否存在嵌套...先给待会要显示的蒙版和A标签窗口设置样式 /* 蒙版样式 */ .overlay1 { position: fixed; top: 0; left: 0;...'_blank'; // 在新窗口中打开链接 link.innerText = '点击进入博客'; //link.addEventListener('click', function(event

    1.4K20

    【HTML5】html5开篇基础(2)

    段落标签: 在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示。 在 HTML 标签中,标签用于定义段落,它可以将整个网页分为若干个段落。...换行标签: 在 HTML 中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。 如果希望某段文本强制换行显示,就需要使用换行标签 。...2.target:用于指定链接页面的打开方式,默认是_self(打开新窗口后会替代原本窗口) _blank(新窗口打开,不会替代原本窗口) 链接分类: 1.外部链接: 例如 在链接文本的 href 属性中,设置属性值为 #名字 的形式,如target="_blank"> 第2集 ,而后找到目标位置标签,里面添加一个 id 属性 = 刚才的名字...5.注释标签 如果需要在 HTML 文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。 注释标签规则如下: <!

    1.5K10

    安全开发小知识记录

    [TOC] 0x00 前言 小小知识大作用 0x01 F&Q 1.前端Web Q:a标签target="_blank"的安全问题及解决办法 答:A标签的target属性规定在何处如何打开链接文档常用的有..._self & _blank,如果在一个 A 标签内包含一个 target 属性,浏览器将会载入和显示用这个标签的 href 属性命名的、名称与这个目标吻合的框架或者窗口中的文档,如果这个指定名称或 id...您可以把target=”_blank”理解为新的浏览器窗口打开此超链接; 关键点: 如果您使用了该属性却没有添加rel=”noopener noreferrer”得话就会存在一定得安全风险; 原理解析...:我们知道JS在在调用window下的open方法创建一个新窗口的同时,我们可以获得一个创建窗口的opener句柄,如果通过target=”_blank”点开的窗口活着标签页,此时子窗口也能捕获opener...,比如我们以后在写a标签的时候尽量都在target=”_blank”后面添加一句rel="noopener noreferrer"。

    96010

    安全开发小知识记录

    [TOC] 0x00 前言 小小知识大作用 0x01 F&Q 1.前端Web Q:a标签target="_blank"的安全问题及解决办法 答:A标签的target属性规定在何处如何打开链接文档常用的有..._self & _blank,如果在一个 A 标签内包含一个 target 属性,浏览器将会载入和显示用这个标签的 href 属性命名的、名称与这个目标吻合的框架或者窗口中的文档,如果这个指定名称或 id...您可以把target=”_blank”理解为新的浏览器窗口打开此超链接; 关键点: 如果您使用了该属性却没有添加rel=”noopener noreferrer”得话就会存在一定得安全风险; 原理解析...:我们知道JS在在调用window下的open方法创建一个新窗口的同时,我们可以获得一个创建窗口的opener句柄,如果通过target=”_blank”点开的窗口活着标签页,此时子窗口也能捕获opener...,比如我们以后在写a标签的时候尽量都在target=”_blank”后面添加一句rel="noopener noreferrer"。

    62110

    Web前端基础题18道

    不是 元素有效属性的是()。...A.src B.href C.name D.target 【正确答案】A 【答案解析】基本概念题,标签中没有src这个属性 3、(单选题)新窗口打开网页,用到以下哪个值()。 A...._parent 【正确答案】B 【答案解析】 _self 在当前窗口打开网页 _blank 在新窗口打开网页 _top 在当前窗口打开网页,并且替换当前窗口的整个网页 _parent 在父窗口中打开网页...4、(单选题)在html规范描述中,哪个是head标签部分里必不可少的元素( ) A...._blank:在新窗口显示目标网页 _self:在当前窗口显示目标网页 _top:框架网页中在上部窗口中显示目标网页 3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同

    2.9K20
    领券