防止垃圾站将父窗口跳转插件……实在不知道叫什么名字好,就这么叫吧。
你是否在搜索引擎打开一个新窗口来展示页面的时候,父窗口却被跳转到广告页面了?(就是搜索引擎所在的那个窗口),懵逼了有木有?号称最屌的 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 或许也可以解决此问题,但是你访问的网站,它不一定是你的网站啊……