Skip to content

Latest commit

 

History

History
35 lines (25 loc) · 1.52 KB

target-blank.md

File metadata and controls

35 lines (25 loc) · 1.52 KB
标题 标签
targetBlank(打开新标签页) link,security(链接,安全)

通常,当从我们的网站链接到外部资源时,我们使用 target="_blank" 在新选项卡或窗口中打开链接页面。但我们应该注意安全风险。新选项卡通过 Window.opener 获得对链接页面(即我们的网站)的有限访问权限,然后可以使用它通过 window.opener.location 更改链接页面的 URL(这称为 tabnabbing)。

如果外部资源不可信、可能已被黑客入侵、域名多年来已更换所有者等,这可能会成为问题。无论第三方资源多么可信,都无法保证其确实值得信赖,以确保用户的安全,作为开发人员,我们应该始终意识到这种风险。

<!-- 缺点:容易受到欺骗 -->
<a href="xxx" target="_blank">
  链接网站
</a>

<!-- 优点:新标签页不会造成问题 -->
<a
  href="xxx"
  target="_blank"
  rel="noopener noreferrer"
>
  链接网站
</a>

为了防止在新标签中打开的链接引起任何问题,我们应该始终向所有 target="_blank" 链接添加 rel="noopener noreferrer" 属性。

ps: 如果是使用在js中,还可以使用打开新标签页代码段来完成该功能。

使用示例

结果如下:

<iframe src="codes/html/html/target-blank.html"></iframe>