标签属性 rel=“noopener noreferrer“ 原来这么有用


大家应该都知道rel=’nofollow’的作用,它是告诉搜索引擎,不要将该链接计入权重。因此多数情况下,我们可以将一些不想传递权重的链接进行nofollow处理,那么标签属性rel="noopener noreferrer"又有什么作用呢?

<a> 标签中 rel=“noopener noreferrer”
<a> 标签的 rel 属性用于指定当前文档与被链接文档的关系。
只有在使用了 href 属性后才能使用 rel 属性。
使用了 target="_blank" 后需要增加 rel=“noopener noreferrer” 来保证安全

<a> 标签中 target="_blank" 安全漏洞
在 <a> 标签中给链接加上 target="_blank" 后,目标网页会在新的标签页中打开, 此时在新打开的页面中可通过 window.opener 获取到源页面的 window 对象, 这就埋下了安全隐患。
假设一个网页 A 中有超链接指向网页 B。
B 网页可以通过 window.opener 获取到 A 的 window 对象,进而网络钓鱼者可以控制 A 网页跳转到一个钓鱼网页(window.opener.location.href =“fishing.com”),用户不知道页面已经跳转,在该页面输入了用户名密码后则发生信息泄露。

设置 rel=“noopener noreferrer” 堵住钓鱼安全漏洞
设置 rel=“noopener” 的链接,window.opener 会为 null,这样新打开的页面便获取不到来源页面的 window 对象了。
设置 rel=“noreferrer” 的链接,新打开的页面也获取不到来源页面的 window 对象。 同时, 新打开页面中还无法获取 document.referrer 信息, 该信息包含了来源页面的地址。

总结一下
通常 noopener 和 noreferrer 会同时设置,rel=“noopener noreferrer”。因为一些老旧浏览器不支持 noopener。
使用 target="_blank" 在新标签页中打开第三方地址时, 必须设置 rel=“noopener noreferrer”

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软希源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值