Command Palette

Search for a command to run...

HT

HTML实体编码器/解码器

编码和解码 HTML 实体 - 命名 (&)、十进制 (&) 和十六进制 (&) 表单,使用 XSS 安全特殊字符转义

什么是HTML实体编码器/解码器?

HTML 实体编码器/解码器将 HTML 中具有特殊含义的字符转换为安全的实体引用,并将任何源中的实体转换为可读文本。 在 HTML 中,< 启动一个标记并启动一个实体 - 因此,如果用户生成的包含 <script> 的内容未转义,则浏览器会执行它。 将这些字符转义为 &lt;script&gt; 是对反射和存储的 XSS 的规范防御,该工具使用 OWASP 推荐的最小集合和单引号执行该转换。

该工具支持三种编码策略,因为不同的上下文需要不同的输出。 命名模式使用包含 100 多个令人难忘的实体的内置图 - 用于 ©, &eacute; for é, &mdash; for -, &hellip; for ... - 具有自动数字回退 (&#nnn;) 的任何字符,包括表情符号。 数字模式将所有内容编码为十进制字符引用,这是 XML 或 RSS 提要所需的,其中只有五个命名实体(&mp; &lt; &gt; &apos; ')被定义并且 &nbsp; 将破坏解析器。 仅特殊模式仅转义五个 XSS 关键字符,在源中留下重音文本和排版可读 - 大多数模板引擎默认使用的模式。

解码器同样彻底:它处理命名实体、像 &#233; 这样的十进制引用和像 &#xe9; 这样的十六进制引用——所有三个形式,你会在抓取的页面、CMS 导出和电子邮件 HTML 中混合在一起。 一切都是在纯 TypeScript 中实现的,没有 DOM 技巧(没有隐藏的 Textarea 黑客,没有 document.createElement),这意味着结果是确定性的,并且在您的浏览器、桌面应用程序和服务器上运行相同的逻辑。 您的内容永远不会离开您的机器 - 100% 客户端处理,对专有副本和用户数据都很安全。

如何使用HTML实体编码器/解码器?

  1. 粘贴您的文本或 HTML

    输入您需要使 HTML 安全的原始文本(用户输入,使用 © 和 ™ 的营销副本,用于 <pre> 块的代码片段),或粘贴您想要作为纯文本阅读的类似于 &lt;div class="card">&gt 的实体包围的 html。

  2. 选择编码模式

    以人类可读的输出(&copy;, &eacute;),用于 XML/RSSS 安全的小数引用的数字(&#169;, &#233;),或仅逃逸的特殊值来命名,并 < > " ' - 防止 XSS 的最低限度,同时保持文本的其余部分可读。

  3. 编码或解码

    单击 Encode 将字符转换为实体,或解码以将命名、十进制 (&#123;) 和十六进制 (&#x1f;) 引用解码回字符。 实时字符数显示实体扩展的增长了多少字符串。

  4. 复制或交换

    将结果复制到剪贴板,或按 Swap 将输出作为输入来反馈 - 用于剥离经过两个转义层的双重编码字符串。

主要特点

  • 100多个命名实体

    内置地图,涵盖 XSS 字符、排版(&mdash; &hellip; 智能引号)、货币 (&EURO; &POUND;)、数学符号、希腊字母和完整的拉丁语 1 重音字母

  • 三种编码模式

    以可读性命名,用于XML/RSS兼容性的数字,特别是用于最小XSS安全转义的-每个上下文而不是一尺寸适合所有

  • 解码所有三个实体形式

    命名 (&amp;), 十进制 (&#38;) 和十六进制 (&#x26;) 引用都被识别,即使在同一文档中混合

  • 纯打字稿,没有 DOM

    没有隐藏元素浏览器黑客 - 在 Web、桌面和服务器环境中表现相同的确定性逻辑

Frequently Asked Questions

至少: & < > "和单引号 - 这是 OWASP 推荐的 HTML 正文和属性上下文集,以及特殊的模式编码的内容。 和符号必须先转义(或以原子方式处理),否则您将损坏已编码的实体。 注意,实体编码仅保护 HTML 上下文;将用户数据注入 <script> 块、URL 或 CSS 需要不同的、特定于上下文的转义。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

html entitieshtml encoderhtml decoderhtml escapehtml unescapenamed entitiesnumeric character referencexss escapingspecial charactersampersand encoding