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

新窗口创建问题 | Electron 安全

(这里主要是窗口加载的内容以及安全配置),可能带来一些危害 渲染进程创建新窗口在之前的文章中出现过绕过安全限制的情况(iframe + window.open) ,但 window.open 不仅仅是绕过安全限制那么简单...还是顶级导航的页面,还是干脆新打开一个标签/窗口来展示 _self:当前页面加载。(a标签默认) _blank:通常在新标签页打开,但用户可以通过配置选择在新窗口打开。...的 window.open 可能会有一些遗漏,但这些遗漏会造成危害吗?...我们测试一下遗漏的几种 frameName(target) 是否可以配置执行 Node.js _self 可以执行 Node.js,经过测试,_parent 和 _top 也是可以的 其实这里 window.open...(target) 设置为 _self、_parent、_top ,则 window.open 的行为会变成导航行为,此时设置 contents.setWindowOpenHandler 就不管用了,导航后的窗口也是继承父窗口权限

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

    window.open打开页面会被浏览器拦截问题解决

    window.open是javascript函数,该函数的作用是打开一个新窗口或改变原窗口,如果你直接在js中调用window.open()去打开一个新窗口,浏览器会拦截。...(注意:window.open(url,'_self')在原窗口打开,不会被拦截)。 普通情况下window.open不会拦截,但若是在ajax的回调里面进行window.open,会拦截!...(接下来的方案,各自看看试试,不保证管用,只是搜集来mark下) 方案3:采用a标签 target="_blank">click me # 点击这个超链接,浏览器会认为它是打开一个新的链接...window.open()"> 缺陷:有时候需要点击时候,进行一些其他设置或操作,再跳转。所以需要在js中完成。...id=1'; form.target = '_blank'; form.method = 'POST'; document.body.appendChild(form); form.submit();

    11.5K41

    利用 target=_blank 进行前端钓鱼

    为什么大部分国外网站内链接不用 target="_blank"新窗口打开? Google 都是当前窗口打开;Baidu/Bing 都是新窗口打开。 用户将无法控制它在本页打开还是新窗口打开。...新窗口打开使任务栏更加地拥挤。 新窗口打开增加浏览器资源的消耗。 新窗口打开是后退按钮变得不可用。 用户更加期望新页面在当页载入 ---- 以上,并不是我们讨论的重点!...涉及内容: target="_blank">李刚的学习专栏 window.open(strUrl, strWindowName...如果,你的网站上有一个链接,使用了 target="_blank",那么一旦用户点击这个链接并进入一个新的标签,新标签中的页面如果存在恶意代码,就可以将你的网站直接导航到一个虚假网站。...= url } 12345 性能 通过target="_blank"打开的新窗口,跟原来的页面窗口共用一个进程。

    1.5K20

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

    背景 产品需求来啦:点击页面上某个东西,要在新窗口中打开一个页面,注意!要在新窗口中打开。你呵呵一笑,太简单了: 打开的页面地址是固定的?直接a标签加上target="_blank"属性搞定。...但如果你脸比较黑,可能会遇到以下问题: 用户投诉:我在你们页面上进行的操作,怎么账号被盗了!! 用户吐槽:页面卡得不行了。。。 WTF? 2....机智的读者会发现上面的两个例子中分别复现了安全和性能问题(讲道理,第2个例子同时展现了安全和性能问题) 3.1 安全问题 使用a标签的target="_blank"属性,或者window.open(...如果父页面和新开窗口中的页面是不同域名的,浏览器会禁止新窗口访问opener中的内容。...确实,chrome有不同的标签页面使用不同进程和线程,但是有个例外,通过a标签的target="_blank"属性,或者window.open(url)在新窗口中打开页面, 会与父窗口共用进程和线程。

    4.8K10

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

    背景 产品需求来啦:点击页面上某个东西,要在新窗口中打开一个页面,注意!要在新窗口中打开。你呵呵一笑,太简单了: 打开的页面地址是固定的?直接a标签加上target="_blank"属性搞定。...但如果你脸比较黑,可能会遇到以下问题: 用户投诉:我在你们页面上进行的操作,怎么账号被盗了!! 用户吐槽:页面卡得不行了。。。 WTF? 2....机智的读者会发现上面的两个例子中分别复现了安全和性能问题(讲道理,第2个例子同时展现了安全和性能问题) 3.1 安全问题 使用a标签的target="_blank"属性,或者window.open(...如果父页面和新开窗口中的页面是不同域名的,浏览器会禁止新窗口访问opener中的内容。...确实,chrome有不同的标签页面使用不同进程和线程,但是有个例外,通过a标签的target="_blank"属性,或者window.open(url)在新窗口中打开页面, 会与父窗口共用进程和线程。

    6K21

    window.open被浏览器拦截问题

    )时恶意弹出窗口(如弹窗广告、打开新窗口等),影响用户体验。...时机 由上述可知,使用window.open的时机,应该是在用户操作(如点击操作)时同步调用 // 会被拦截 window.open('https://javascript.info'); // 不会被拦截...5s) Safari:小于1s(不包括1s) 参考文档:Popups and window methods 其他方式打开新窗口 网上也搜到一些使用其他方式打开新窗口的方法,但经过实际测试,在异步打开新窗口的情况下...引导弹窗 数据异步请求完成之后,弹出一个引导弹窗,用户点击确认按钮之后使用window.open直接跳转 弹窗广告插件 浏览器一般都会有一些第三方的弹窗广告拦截插件,网上能找的大概原理如下: 针对特定弹窗广告的...,异步调用window.open被拦截是浏览器自带的机制,和是否使用广告插件无关

    4.3K40

    Jquery基础(七) window.parent与window.openner区别

    一、今天总结一下js中几个对象的区别和用法: 1."window.location.href"、"location.href"是本页面跳转 2."...window.top.location.href"是最外层的页面跳转 二、举例说明: 如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写...target的用法了: _blank:重新打开一个窗口 _parent:父窗口执行重定向 _self:自身页面重定向 _top:第一个父窗口重定向 小结: 1.window.open("Url...地址","_blank") = window.open("Url地址");//在新窗口打开 2.location = window.location = location.href = window.location.href...=self.location.href = "Url地址";//在D页面实现展现 window.open("Url地址","_self");//在D页面实现展现 3.parent.location.href

    1.9K20

    window.opener.location 安全风险讨论

    在浏览器中,通过 标签或者 JavaScript 中的 window.open 函数,可以打开新页面。新页面的 window 对象中,存在一个 opener 属性,保存对父页面的引用。...来看一个案例,假设父页面中有新窗口打开的子页面链接: target="_blank">click me...这两个方案都不完美,Referrer 在很多时候并不能轻易去掉,这样只剩下 window.open 这个「改动成本大、不优雅、会引入新的问题」的方案勉强可用了。...指令,详情; 到这里为止,我们讨论的都是「新窗口打开的子页面将父页面跳走」所带来的风险。...点击链接后打开的确实是正常的登录页,但几秒后会被替换为提前准备好的钓鱼页,如果这时没注意地址栏的变化,就很容易被钓鱼者利用。

    2K60

    Javascript中的window对象

    window对象的两个作用: 表示浏览器的一个实例 ECMAscript中的Global对象 直接定义Global变量与在window上定义Global变量的区别是:直接定义的Global变量的...html的window对象 parent对象表示上层frame的window对象 self表示frame自身的window对象 窗口位置 window.screenLeft window.screenTop...或者firefox中的window.screenX window.screenY表示窗口左上角的位置 var left = (typeof window.screenLeft == “number”...window.innerWidth 表示页面视图的高和宽 打开新窗口 window.open(URL, target, args, is_replace) URL: 新窗口打开的网址 target:...目标frame的名字,或者_self, _parent,_top,_blank args: is_replace: 是否替代当前窗口 window.close() : 关闭一个窗口 window.closed

    1.4K10

    Chrome下的打开新窗口

    一般点击打开新窗口,有几种方式: 1、超链接a  有href属性、target为_blank 2、iframe,其target为_blank 3、window.open的浏览器安全设置...> 4、form表单提交,同样target也必须设为_blank 现在遇到一个需求: 做了一个后台运维管理系统,在点击datagrid头部一个按钮,需要打开一个新窗口...因为extjs运行效率比较低,所以选择使用chrome访问系统,而在操作些按钮的时候发现很多很奇特的现象,这些现象只出现在chrome中: 1、打开一个窗口后,些窗口不关闭,将无法打开多个窗口,即使原有窗口关闭...,就是弹出的窗口是没有工具栏和地址栏的,且不在新选项卡中打开 后来搜索到一篇文章,有所启发,就有了如下的代码: var nwin = window.open(); nwin.location = ‘xxxx...’;//需要打开的地址 如果使用ajax请求地址后面的参数的话,需要将ajax改为同步,不然弹出的窗口会在新窗口中打开,而且没有工具栏和地址栏的

    4.7K30

    HTML标记之a标签

    一、a标签的语法   target=”打开链接窗口的形式”>链接显示内容     target值:       _blank在新窗口中打开...;       _self 在自身窗口打开(默认);       _parent 在上一级窗口打开,框架会经常使用;       _top 在浏览器整个窗口中打开,忽略任何框架。...)”>;    3.E-mail链接(并允许访问者向指定的地址发送邮件);    4.锚点连接 跳转到同一网页或其他文档的指定位置:创建锚点...;    6.脚本链接:是一种特殊的链接,当单击设置脚本链接的文本或图像时,可以运行相应的JS语句。...:输入javascript:window.open(‘文件名或URL’);     window.open(‘文件名或URL’);">打开窗口  四

    3.2K40

    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
    领券