1. 主页 > SEO优化

rel="nofollow noopener noreferrer"该如何使用

聊聊rel=external nofollow和rel=noopener noreferrer;

target =“_ blank”漏洞 用 rel=”nofollow me noopener noreferrer”防钓鱼攻击;

nofollow是什么意思?

我们知道,反向链接是Google PR值的主要计算指标。为了添加反向链接,SEO作弊者在论坛和博客等大量发布带无关链接的内容。这些垃圾链接的存在给搜索引擎对网页质量的评估造成一定程度的麻烦。nofollow 正是Google、Yahoo、MSN 为了应对垃圾链接(Spam)引入的一个属性,此属性目前应该被广泛采用。

如果A网页上有一个链接指向B网页,但A网页给这个链接加上了 rel="nofollow" 标注,则搜索引擎不把A网页计算入B网页的反向链接。

nofollow 怎么用?

如某博客上有垃圾评论:

<a  href="http://www.hwsem.com/">顶顶</a>

以下操作,即进行了 nofollow:

<a  href="http://www.hwsem.com/"  rel="nofollow">顶顶</a>

搜索引擎在计算PR值时,不会把这个链接计算在内。

重点所在:

大家应该都知道rel=’nofllow’的作用,它是告诉搜索引擎,不要将该链接计入权重。因此多数情况下,我们可以将一些不想传递权重的链接进行nofllow处理;例如一些非本站的链接,不想传递权重,但是又需要加在页面中的像 统计代码、备案号链接、供用户查询的链接等等。

rel="nofollow noopener noreferrer"该如何使用(图1)

除了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"来完整覆盖。

rel="nofollow me noopener noreferrer"什么意思?

rel="nofollow me noopener noreferrer"可以拆为两部份;rel="noopener noreferrer" 和 rel="nofollow";

rel="noopener noreferrer"是指HTML DOM opener属性和referrer属性无效;

rel="nofollow"是指告诉搜索引擎"不要追踪此网页上的链接或不要追踪此特定链接"。

提示:rel="nofollow"主要是针对SEO的,如果你想让这链接被搜索引擎攫取,直接用rel="noopener noreferrer"即可!

从这个问题博主悟出了几个小道理:

1、漏洞本身我们在写程序的时候是可以自己防止的,像此文章的漏洞,我们可以在开发程序的时候给任何一个新窗口打开的链接都自动增加:rel="noopener noreferrer"属性;

2、因为此漏洞主要是针对WEB的,WEB主要是用浏览器来访问的,浏览器厂商自然也会防止这样的漏洞从而来提高自己浏览器的用户体验;

3、安全软件,像腾讯管家,如果你用此文章的代码去做恶作剧,电脑上安装有腾讯管家,你打开不会出现死循环的,因为当窗口打开到几个的时候会弹出一个“电脑管家,广告过滤,一键开启“的提示;

因此:做为一个程序员,永远不要说你写的代码是没有漏洞的,不是没有漏洞,而是其它人已经帮助你防止了这种漏洞,像以前的facebook同样也是存在这种漏洞的,现在已经不存在了,因为它给每一个URL链接都加上了rel="noopener noreferrer"属性;

永远也不要觉得大网站就没有漏洞,就多么的高大上!

本文由设计学习网整理发布,不代表设计学习网立场,转载联系作者并注明出处:https://ffjianzhan.cn/seo/10864.html

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:9:30-18:30,节假日休息