HTML 规范变更:对属性中的 < 和 > 进行转义

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

HTML规范将于2025年5月20日更新,开始对属性中的<和>进行转义,以防止突变XSS漏洞。此变更影响使用innerHTML和outerHTML提取属性的代码,但不影响DOM API的使用。使用Chromium和Firefox的用户将于2025年6月24日体验此更改。

🎯

关键要点

  • HTML规范将于2025年5月20日更新,开始对属性中的<和>进行转义,以防止突变XSS漏洞。
  • 此变更影响使用innerHTML和outerHTML提取属性的代码,但不影响DOM API的使用。
  • 使用Chromium和Firefox的用户将于2025年6月24日体验此更改。
  • 更改后,属性中的<和>字符将始终进行转义。
  • 此更改不会影响HTML解析,使用DOM API检索属性值将返回相同的解码值。
  • 使用innerHTML或outerHTML提取属性的代码可能会中断,建议使用DOM API。
  • CI/CD流水线中的端到端测试可能会因属性包含<或>而中断,需要更新预期值。
  • 此变更旨在提高安全性,防止突变XSS实例。

延伸问答

HTML规范的更新具体是什么内容?

HTML规范将于2025年5月20日更新,开始对属性中的<和>进行转义,以防止突变XSS漏洞。

这项变更对Web开发者有什么影响?

此变更影响使用innerHTML和outerHTML提取属性的代码,建议使用DOM API以避免中断。

使用innerHTML和outerHTML会出现什么问题?

使用innerHTML和outerHTML提取属性的代码可能会中断,返回的值将与之前不同。

如何避免因这项变更导致的代码中断?

建议使用DOM API(如getAttribute、dataset等)来检索属性值,以避免代码中断。

这项变更的实施时间是什么时候?

用户将在2025年6月24日体验此更改,使用Chromium和Firefox的用户将首先受到影响。

这项变更的安全性目的是什么?

此变更旨在提高安全性,防止突变XSS实例,保护用户免受潜在攻击。

➡️

继续阅读