1. noopener

如果你需要用 a 标签打开一个标签页时,你会使用 target='_blank' 这个属性,此时你需要添加 rel='noreferrer noopener'

当你使用 target='_blank' 打开一个新的标签页时,新页面的 window 对象上有一个属性 opener,它指向的是前一个页面的 window 对象,因此,后一个页面就获得了前一个页面的控制权,so 可怕!!

比如的 a 标签是这样 <a href="/index" target="_blank">打开连接</a> ,打开后在控制台输入 window.opener.alert(1) 看看?

甚至在跨域的情况下他也可以生效,比如打开 <a href='https://github.com/ZhangFe/Blog' target="_blank">链接<a/>后,

你可以使用 window.opener.location.replace 更改前一个页面的 url。
 

那么,为了避免这种情况,就需要咱们的主角登场了!

比如你的链接现在变成了这样 <a href='/index' rel=noopener>链接<a/>,再打开后你会发现 window.opener 已经被置为了 null,如果是一些旧的浏览器,可以使用 rel=noreferrer,它不仅禁用了 window.opener,后一个页面也无法获取到 referrer,再不行,可以利用 js 来打开新的页面,之后将 opener 置为 null 来完成这个功能

var otherWindow = window.open();
otherWindow.opener = null;
otherWindow.location = url;

2. nofollow

nofollow HTML的一个属性,用于告诉搜索引擎不要追踪特定的网页链接。可以用于阻止在PR值高的网站上以留言等方式添加链接从而提高自身网站排名的行为,以改善搜索结果的质量,防止垃圾链接的蔓延。网站站长也可对其网页中的付费链接使用nofollow来防止该链接降低搜索排名。对一些重要度低的网页内容使用nofollow,还可以使搜索引擎以不同的优先级别来抓取网页内容。

参考链接:

Web 安全问题 rel="noopener nofollw"的更多相关文章

  1. WEB - 关于rel="noopener"

    参考网址 https://mathiasbynens.github.io/rel-noopener/ 例子 <a href="https://cli.vuejs.org" t ...

  2. a标签属性 rel=noopener noreferrer

    当你浏览一个页面点击一个a标签链接跳转到另一个页面时, <a href="http://www.baidu.com" target="_blank"> ...

  3. web安全问题分析及处理

    前言 这是我观看了<前端漏洞分析及处理-蔡慧芨>公开课之后的一个总结及简单实践体会.在可能的情况下我会把他们都实际操作一遍,更加深刻地体会前端安全的重要性. web安全问题有哪些 XSS- ...

  4. 网站使用 rel="noopener" 打开外部锚

    当您的页面链接至使用 target="_blank" 的另一个页面时,新页面将与您的页面在同一个进程上运行. 如果新页面正在执行开销极大的 JavaScript,您的页面性能可能会 ...

  5. web安全问题-cookie

    web安全问题 cookie 1.cookies只能设置过期 不能删除 <script> now.toGMTString() => 事件可以用来设置cookie document.c ...

  6. web安全问题-csrf

    web安全问题 csrf <script> document.write(` <form name="commentForm" target="csrf ...

  7. a rel=noopener

    看vue-element-admin的源码的时候,看到a 标签使用  rel=noopener: 然后就很奇怪这个是干什么用的:然后百度到一篇文章,涨知识了. 个人的理解是:不加 rel=noopen ...

  8. [HTML5] a tag, rel="noopener"

    It is a good pratice to add ref="noopener" <a href="/some/domain" target=&quo ...

  9. rel= "noopener"

    rel= "noopener" <a href= "https://www.xiaogezi.cn/" target= "_blank" ...

随机推荐

  1. Piwik-2.16.1 (OpenLogic CentOS7.2)

    平台: CentOS 类型: 虚拟机镜像 软件包: centos7.2 piwik devops log analysis monitoring open-source 服务优惠价: 按服务商许可协议 ...

  2. LeetCode Merge Two Sorted Lists 归并排序

      题意: 将两个有序的链表归并为一个有序的链表. 思路: 设合并后的链表为head,现每次要往head中加入一个元素,该元素要么属于L1,要么属于L2,可想而知,此元素只能是L1或者L2的首个元素, ...

  3. 【BZOJ4698】[SDOI2008] Sandy的卡片(后缀数组+二分)

    点此看题面 大致题意: 给你\(N\)个序列,若定义两个相同子串为一个子串内所有数加上一个数后能变成另一个串,求所有序列中的最长相同子串的长度. 简单的转化 首先,我们对题目进行一个简单的转化. 要求 ...

  4. JQuery的checkbox全选与全不选操作

    最主要是:子选择框要与总选择框的状态一致,即当选择总选择框时,向子选择框添加属性,使用jquery中的attr属性 例: html中的代码 <input type="checkbox& ...

  5. 转:Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

    转自:http://blog.csdn.net/business122/article/details/7536991 创建列表 sample_list = ['a',1,('a','b')] Pyt ...

  6. c++引用与指针的区别

    c++引用与指针的区别 ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:引用是某块内存的别名. 指针的权威定义: In a declaration T D where ...

  7. 2019 ACM-ICPC全国邀请赛(西安) M.Travel 二分+判联通

    https://nanti.jisuanke.com/t/39280 讲道理这题写bfs求最大边权限制下从1到n的最短步数,然后二分判一下就行了. 然鹅我还是直接套了dij,一开始纠结dij能不能过, ...

  8. >详解< 广度优先搜索

    >概念< 广度优先搜索 概念 (其实我也不是很明白)广度优先搜索(简称广搜)(别名宽度优先搜索).采用了树形结构.常用于寻找 最短路线问题. -The end- 2018.7.12

  9. 破解studio 3T

    方法一: 打开注册表:regedit 计算机\HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise 将里面得数据清零,又是 ...

  10. ATM-core-src

    from interface import bank, shopping, userfrom lib import common user_data = { 'name': None} def log ...