文档章节

聊聊rel=external nofollow和rel=noopener noreferrer

IT小天
 IT小天
发布于 2017/07/10 18:29
字数 570
阅读 164
收藏 0
大家应该都知道rel=’nofllow’的作用,它是告诉搜索引擎,不要将该链接计入权重。因此多数情况下,我们可以将一些不想传递权重的链接进行nofllow处理;例如一些非本站的链接,不想传递权重,但是又需要加在页面中的像 统计代码、备案号链接、供用户查询的链接等等。

 

除了rel=’nofollow’还有两种链接属性形式,一种是rel=’external’,另一种是rel=’external nofollow’。这两种分别代表什么意思呢?又有何区别呢?

 

rel=’external’

此属性的意思是告诉搜索引擎,这个链接不是本站链接,其实作用相当于target=‘_blank’。

为什么要这样写呢?因为有些网站因为是采用严格的DOCTYPE声名的,如果你在网页源码中的第一行看到:在这种情况下target=”_blank”会失效,因此采用rel=’external’这个参数来替代。

rel=’external nofollow’

其实上面已经说过rel=’nofollow’ 和 rel=’external’ 两种属性的所代表的意思了。这个属性基本上是相当于将两种属性结合起来,大致可以解释为 “这个链接非本站链接,不要爬取也不要传递权重”。因此在SEO的角度来说,是一种绝对隔绝处理的方法,可以有效减少蜘蛛爬行的流失。

 

rel="nofollow noopener noreferrer"

超链接 target="_blank" 要增加 rel="nofollow noopener noreferrer" 来堵住钓鱼安全漏洞。如果你在链接上使用 target="_blank"属性,并且不加上rel="noopener"属性,那么你就让用户暴露在一个非常简单的钓鱼攻击之下。

 

为了告知来自于不受保护的站点的用户,我们运行一个利用了这个缺陷的脚本。

if (window.opener) {

window.opener.location = "https://dev.to/phishing?referrer="+document.referrer;
}

 

我相信绝大多数站点都没有恰当地处理这个问题,为了限制 window.opener的访问行为,原始页面需要在每个使用了target="_blank"的链接中加上一个rel="noopener"属性。

然而,火狐不支持这个属性值,所以实际上你要用 rel="noopener noreferrer"来完整覆盖。


阅读原文   更多文章

© 著作权归作者所有

IT小天
粉丝 2
博文 159
码字总数 28218
作品 0
普陀
程序员
私信 提问
超链接 target="_blank" 要增加 rel="nofollow me noopener noreferrer" 来堵住钓鱼安全漏洞

原始英文链接: https://dev.to/ben/the-targetblank-vulnerability-by-example https://dev.to/phishing 解决方法: 在超链接上增加 rel="nofollow me noopener noreferrer" 例如:<a href......

山哥
2016/09/02
1K
0
HTML中标签的rel属性的含义_HTML5新增属性值

HTML中<a>标签有个rel属性,这篇文章简要介绍下rel属性的含义、Value,及在HTML5中新增的一些属性值。 1、rel属性定义: <a>标签的rel属性用于指出当前文档与被链接文档的关系。仅在有href属...

囧南风囧
2012/08/24
0
0
使用rel=noopener

解决什么问题 假设你当前在浏览一个页面,上面有个链接(可能是用户输入的): 在新打开的标签页通过window.opener ,可以获得当前页面的window 。这样的话,http://keenwon.com(被打开的页...

WolfX
2016/06/03
18
0
zabbix3.2.3安装趋势图集中显示插件graphtrees

1.下载补丁并升级 cd /usr/share/zabbix # 获取补丁包 wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3.0.4.patch yum install -y patch patch -Np0......

周宇1991
2017/06/19
0
0
wordpress在新窗口打开留言者链接

没有什么技术含量可言,网上早有高手支招,但其方法在我现在使用的inove主题下不行,于是自己研究了下代码,完美解决,分享一下: 一般主题都可以这样修改: 1、打开wordpress目录的下/wp-inc...

汤圆
2013/01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows下cmd常用的命令

windows下常用的命令指示行: windows下 CMD比较常见的命令1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 4. explorer-------打开资源管理器...

WinkJie
19分钟前
1
0
折叠手机适配布局

CSS Grid 设备相关参数 媒体查询 Chrome进行调试,创建相应的模拟机

lilugirl
19分钟前
0
0
Knative Eventing 中如何实现 Registry 事件注册机制

摘要: 在最新的 Knative Eventing 0.6 版本中新增了 Registry 特性, 为什么要增加这个特性, 该特性是如何实现的。针对这些问题,希望通过本篇文章给出答案。 背景 作为事件消费者,之前是...

阿里云云栖社区
23分钟前
0
0
安装 jemalloc for mysql

前言: Jemalloc 是BSD的提供的内存分配管理 安装依赖 $ yum install -y gcc$ yum install autoconf -y 安装 jemalloc $ git clone https://github.com/jemalloc/jemalloc$ cd jema......

Linux_Anna
34分钟前
1
0
linux下ctrl+c中止不了

有一台centos7的服务器,ctrl+c无效,并且tail -f也无效,只能关掉终端或者crtl+z放入后台再删掉,但是ping的时候使用ctrl+c是有效果的。 出现这种情况的原因可能是因为有人要使用ruby安装r...

gaolongquan
47分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部