指向跨源目的地的链接不安全
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
当您使用 target="_blank"
属性链接到其他网站中的网页时,
可能会导致您的网站出现性能和安全问题:
- 另一个网页可能与您的网页在同一进程中运行。
如果另一个网页运行了很多 JavaScript,
网页的性能可能会受到影响
- 另一个页面可以使用
window.opener
属性访问您的 window
对象。
这可能会让其他网页将您的网页重定向到恶意网址。
正在添加 rel="noopener"
或 rel="noreferrer"
添加到 target="_blank"
链接可以避免这些问题。
Lighthouse 跨域目标页面审核如何失败
Lighthouse 会标记指向跨源目的地的不安全链接:
Lighthouse 使用以下过程将链接标识为不安全的链接:
- 收集包含
target="_blank"
属性的所有 <a>
标记
而不是 rel="noopener"
或 rel="noreferrer"
属性。
- 并滤除与主机相同的链接。
由于 Lighthouse 会过滤掉同主机的链接,
如果您处理的是大型网站,则应该注意一种极端情况:
如果某个网页包含指向您网站上另一个网页的target="_blank"
链接(未使用rel="noopener"
),
此审核对性能的影响仍然适用。
不过,您不会在 Lighthouse 结果中看到这些链接。
添加rel="noopener"
或rel="noreferrer"
您的 Lighthouse 报告中识别出的每个链接。
一般来说,当您使用 target="_blank"
时,
添加 rel="noopener"
或 rel="noreferrer"
:
<a href="https://examplepetstore.com" target="_blank" rel="noopener">
Example Pet Store
</a>
rel="noopener"
将禁止新页面
访问 window.opener
属性
确保其在单独的进程中运行
rel="noreferrer"
的效果相同
但也会阻止 Referer
标头
被发送到新页面
请参阅链接类型“noreferrer”。
请参阅安全地共享跨源资源
。
资源
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2019-05-02。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2019-05-02\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2019-05-02。"],[],[]]