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

简介: <a> 标签属性 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”。
相关文章
|
3月前
|
搜索推荐 SEO
nofollow标签的作用 nofollow标签添加方法
nofollow标签的作用 nofollow标签添加方法
63 0
|
5月前
|
前端开发
前端基础(二)_HTML常用标签(块级标签、行级标签、行块级标签)
本文详细介绍了HTML中的常用标签,包括块级标签(如`h1`至`h6`、`p`、`div`等)、行级标签(如`span`、`b`、`strong`、`i`、`em`、`sub`、`sup`、`del`、`a`等),以及行块级标签(如`img`)。文章解释了这些标签的用途、特点和基本用法,并通过示例代码展示了如何在HTML文档中使用它们。
308 1
|
7月前
|
前端开发
CSS全部标签属性重置语法
每个浏览器默认的属性不同,像谷歌浏览器不设置的话,默认每个元素是有外边距margin的,有的浏览器列表还会带上序号,有的浏览器就没有。
58 6
|
7月前
|
移动开发
常用HTML标签及其作用
常用HTML标签及其作用
|
9月前
|
缓存 前端开发 JavaScript
CSS 的 link 标签放在 head 标签之间的作用
CSS 的 link 标签放在 head 标签之间的作用
106 1
|
前端开发 JavaScript
CSS基本知识之常用的选择器分类
CSS基本知识之常用的选择器分类
|
前端开发 JavaScript SEO
b标签和strong标签的区别?css单行或多行溢出隐藏如何实现?浅谈this?
b标签只是文本加粗,而strong除了加粗还有强调的语义。
|
安全 UED
HTML <iframe> 标签的常用属性--详解(附加代码)
HTML <iframe> 标签的常用属性--详解(附加代码)
197 0
|
前端开发 开发者
CSS基础标签属性及案例
CSS:cascading style sheets,层叠样式表格;CSS起到装饰作用,将不同功能的代码做分离,方便维护;可以大大提高工作效率,将HTML代码和样式代码分离;
104 0
|
前端开发
CSS 选择器(超级详细,欢迎补充)1
CSS 选择器(超级详细,欢迎补充)
114 0