首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

新窗口创建问题 | 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 就不管用了,导航后窗口也是继承父窗口权限

21310

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

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

9.7K41
您找到你想要的搜索结果了吗?
是的
没有找到

利用 target=_blank 进行前端钓鱼

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

1.2K20

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

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

3.9K10

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

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

5.2K21

window.open被浏览器拦截问题

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

3.1K40

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

一、今天总结一下js几个对象区别和用法: 1."window.location.href"、"location.href"是本页面跳转 2."...window.top.location.href"是最外层页面跳转 二、举例说明: 如果A,B,C,D都是jsp,D是Ciframe,C是Biframe,B是Aiframe,如果Djs这样写...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.4K20

window.opener.location 安全风险讨论

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

1.7K60

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改为同步,不然弹出窗口会在新窗口中打开,而且没有工具栏和地址栏

3.5K30

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方法可控制样式丰富,比如我们可以控制窗口显示大小,窗口显示内容,以及位置等等。...都是使用jswindow.open有一个缺点就是容易被浏览器屏蔽。本文介绍了js打开新窗口各种方法。

6.5K20

安全开发小知识记录

_self & _blank,如果在一个 A 标签内包含一个 target 属性,浏览器将会载入和显示用这个标签 href 属性命名、名称与这个目标吻合框架或者窗口中文档,如果这个指定名称或 id...您可以把target=”_blank”理解为新浏览器窗口打开此超链接; 关键点: 如果您使用了该属性却没有添加rel=”noopener noreferrer”得话就会存在一定得安全风险; 原理解析...:我们知道JS在在调用window下open方法创建一个新窗口同时,我们可以获得一个创建窗口opener句柄,如果通过target=”_blank”点开窗口活着标签页,此时子窗口也能捕获opener...JS-Console演示: #窗口1.default.html window.open("...."noopener noreferrer"来完整覆盖,此时子页面就再也访问不到父页面的句柄所以更无法操作原窗口句柄; 也可以通过js来控制限制句柄访问: var otherWindow = window.open

68310
领券