跳到主要内容
uencoder

HTML Entities

HTML 实体是将 HTML 中有特殊含义的字符(<、>、&、")转义为 &name; 或 &#NNN; 形式,以字面量显示而非被解析为标记。

用途

防止用户输入或动态内容被浏览器当作 HTML 标签执行,是防御 XSS 的基础手段。

机制

命名实体如 &lt; &gt; &amp; &quot; &apos; 对应 5 个 XML 预定义字符。数字实体 &#NNN; 用十进制码点,&#xNNN; 用十六进制。解码时按 DTD 实体表展开。

用例

  • 在 HTML 文本中显示 < > & 等字符
  • 防御 XSS 的输出转义
  • HTML 邮件中的特殊符号
  • XML 内容转义

示例

  • 输入
    <script>
    输出
    &lt;script&gt;

    After escaping, the browser shows text instead of executing a script

常见错误

Escaping only < and > while missing quotes, enabling XSS in attribute contexts
Escape by context: text needs < > &; attributes additionally need " and '

相关词条

相关工具

参考链接