HTML 词条目录
前端Wiki/词条/target blank 与安全

target blank 与安全

定义让链接在新标签页打开,但用错会成为钓鱼与反向钓鱼的入口

给 a 标签加 target=_blank,点击后新标签页打开而原页面保留,站外链接普遍这么做,避免用户跳出本站。但这个属性有两个隐患:一是新打开的页面默认能通过 window.opener 操纵原页面(调整地址、伪造内容,即反向钓鱼),补丁是同时写 rel=noopener;二是开太多新标签会打断浏览动线,站内链接绝不要用。

从可用性看,是否新开标签有约定俗成的规则:外部站点、PDF 等文件、需要对比参照的内容新开;站内导航、表单提交留在当前页。一个细节是 target=_blank 的链接光标和普通链接一样,用户无法预判,所以不少站点会给外链加个小图标提示。安全上再多一步也行:rel=noopener noreferrer 兼顾隐私,防止新页面通过 Referer 追踪来源。

HTML
<style>
  .ext::after { content: " ↗"; color: #e78a3e; font-size: 12px; }
</style>
<p><a href="https://www.example.com" target="_blank"
      rel="noopener noreferrer" class="ext">安全的外部链接</a></p>
<p><a href="https://www.example.org" target="_blank"
      rel="noopener">也可以只写 noopener</a></p>
<p><a href="/about.html">站内链接:当前页打开</a></p>
<p><a href="doc.pdf" target="_blank" rel="noopener">PDF 新开</a></p>
⚠ 常见误区
🔗 相关词条超链接锚点
← 返回来源章节超链接