Google工程师警告在另一个标签中打开链接很危险
target=”_blank” 为在另一个标签打开链接。Google工程师指出,在HTML中指定链接以在单独的标签中打开该链接是“安全和性能问题”。
一位Google工程师在推文中说:“ target=”_blank”指定链接存在安全性和性能问题,因此最好将其与rel=”noopener”属性或rel=”noreferrer”属性一起使用。”
尽管它与SEO没有直接关系,但我认为许多人可能并不意外地知道它,因此我将在这里进行介绍。
rel=”noopener”为什么要添加到外部站点的链接
- 安全性
- 性能表现
虽然两个是的,谷歌的开发者网站进行了详细描述。
此外,target=”_blank”在同样的一个安全漏洞。登陆页面window.opener可用于访问父窗口中的对象,或window.opener.location = newURL更改父页面URL。
target=”_blank”链接在单独的选项卡(单独的窗口)中打开。这意味着链接源页面和链接目标页面都存在于浏览器中。并且,如果以这种方式打开的链接页面包含恶意JavaScript,则可能会篡改链接所源自的页面。
至于其他性能,其编写如下。
target=”_blank”如果用于从任何页面链接到另一个页面,则链接页面和目标页面的操作过程相同。因此,如果在链接页面上执行大量JavaScript,则链接页面的性能可能会下降。
但是,根据社论评论,似乎当前浏览器target=”_blank”中的链接不一定会在同一过程中打开新的标签页。
因此,向您的网站添加target=”_blank”链接(带有并非总是可靠的外部链接)是rel=”noopener”一个好主意。
另外,例如,对于从内部信息共享系统或Intranet到外部站点的链接,rel=”noreferrer”您可能需要使用。在这种情况下,可以rel=”noopener noreferrer”描述如下。
这样,跟随链接将不会导致浏览器将引荐来源网址发送到正在访问的服务器。因此,基于访问分析数据和日志数据,链接站点的管理员将询问:“我看,这家公司使用具有这种命名模式的内部网络名称”,以及“内部服务器是否正在运行具有这种主机名的Web服务器?”您无需被人知道。