《防止垃圾站将父窗口跳转脚本》防止打开网站后,父窗口被跳转到其他页面!

2016-05-12 10:50:51 +08:00
 ejin
防止垃圾站将父窗口跳转插件……实在不知道叫什么名字好,就这么叫吧。

你是否在搜索引擎打开一个新窗口来展示页面的时候,父窗口却被跳转到广告页面了?(就是搜索引擎所在的那个窗口),懵逼了有木有?号称最屌的 Chrome 也没解决,乌云上还有过分析,各种浏览器处理该问题的策略有所不同,有的允许跳转掉父窗口,有的不许,如果被跳转到的是一个高仿的登录界面,你还认为它没有安全隐患吗?(你用百度就跳转到百度的高仿登录窗口,你用谷歌就跳转到谷歌的高仿登录窗口,甚至还可以通过 referer 抓取父窗口的页面,去模拟一个一模一样的出来)

这个问题其实我也遇到过多次,然而今天看到有人发帖提出此问题 而另外 2 人提出了方案和逻辑 于是我就顺手写出来了……

逻辑其实很简单,如果父窗口 /父框架 /上一页是当前访问的网页的同一站点,则不做任何处理……否则……呵呵

一个此安全隐患的演示页面 https://mathiasbynens.github.io/rel-noopener/
那个帖子是 https://www.v2ex.com/t/277991 (这里也有该问题的演示)
我的脚本发布在这里 https://greasyfork.org/zh-CN/scripts/19615-%E9%98%B2%E6%AD%A2%E5%9E%83%E5%9C%BE%E7%AB%99%E5%B0%86%E7%88%B6%E7%AA%97%E5%8F%A3%E8%B7%B3%E8%BD%AC%E8%84%9A%E6%9C%AC

另外链接的属性里加上 rel=noopener 或许也可以解决此问题,但是你访问的网站,它不一定是你的网站啊……
2287 次点击
所在节点    分享创造
2 条回复
qcloud
2016-05-12 11:07:14 +08:00
cool ~
ejin
2016-05-12 11:50:37 +08:00
@qcloud 一共也就 2 行代码 但是却能解决问题…… 勉强还行吧 主要是别人都提供好了思路和关键代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/278112

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX