什么是HTML实体编码器/解码器?
HTML 实体编码器/解码器将 HTML 中具有特殊含义的字符转换为安全的实体引用,并将任何源中的实体转换为可读文本。 在 HTML 中,< 启动一个标记并启动一个实体 - 因此,如果用户生成的包含 <script> 的内容未转义,则浏览器会执行它。 将这些字符转义为 <script> 是对反射和存储的 XSS 的规范防御,该工具使用 OWASP 推荐的最小集合和单引号执行该转换。
该工具支持三种编码策略,因为不同的上下文需要不同的输出。 命名模式使用包含 100 多个令人难忘的实体的内置图 - 用于 ©, é for é, — for -, … for ... - 具有自动数字回退 (&#nnn;) 的任何字符,包括表情符号。 数字模式将所有内容编码为十进制字符引用,这是 XML 或 RSS 提要所需的,其中只有五个命名实体(∓ < > ' ')被定义并且 将破坏解析器。 仅特殊模式仅转义五个 XSS 关键字符,在源中留下重音文本和排版可读 - 大多数模板引擎默认使用的模式。
解码器同样彻底:它处理命名实体、像 é 这样的十进制引用和像 é 这样的十六进制引用——所有三个形式,你会在抓取的页面、CMS 导出和电子邮件 HTML 中混合在一起。 一切都是在纯 TypeScript 中实现的,没有 DOM 技巧(没有隐藏的 Textarea 黑客,没有 document.createElement),这意味着结果是确定性的,并且在您的浏览器、桌面应用程序和服务器上运行相同的逻辑。 您的内容永远不会离开您的机器 - 100% 客户端处理,对专有副本和用户数据都很安全。
如何使用HTML实体编码器/解码器?
粘贴您的文本或 HTML
输入您需要使 HTML 安全的原始文本(用户输入,使用 © 和 ™ 的营销副本,用于 <pre> 块的代码片段),或粘贴您想要作为纯文本阅读的类似于 <div class="card">> 的实体包围的 html。
选择编码模式
以人类可读的输出(©, é),用于 XML/RSSS 安全的小数引用的数字(©, é),或仅逃逸的特殊值来命名,并 < > " ' - 防止 XSS 的最低限度,同时保持文本的其余部分可读。
编码或解码
单击 Encode 将字符转换为实体,或解码以将命名、十进制 ({) 和十六进制 () 引用解码回字符。 实时字符数显示实体扩展的增长了多少字符串。
复制或交换
将结果复制到剪贴板,或按 Swap 将输出作为输入来反馈 - 用于剥离经过两个转义层的双重编码字符串。
主要特点
100多个命名实体
内置地图,涵盖 XSS 字符、排版(— … 智能引号)、货币 (&EURO; &POUND;)、数学符号、希腊字母和完整的拉丁语 1 重音字母
三种编码模式
以可读性命名,用于XML/RSS兼容性的数字,特别是用于最小XSS安全转义的-每个上下文而不是一尺寸适合所有
解码所有三个实体形式
命名 (&), 十进制 (&) 和十六进制 (&) 引用都被识别,即使在同一文档中混合
纯打字稿,没有 DOM
没有隐藏元素浏览器黑客 - 在 Web、桌面和服务器环境中表现相同的确定性逻辑
Frequently Asked Questions
Related Tools
Caesar Cipher Encoder & Decoder
Encode and decode Caesar cipher text with any shift, plus ROT13 and ROT47. Brute-force all 25 shifts to crack an unknown key.
Unicode Converter
Convert text to and from Unicode code points, HTML entities, JavaScript escapes, and CSS escapes. Emoji and astral characters handled correctly.
URL Encoder/Decoder
Encode and decode URLs, query strings, and form data with encodeURIComponent, encodeURI, or form-urlencoded modes
HTML Minifier & Beautifier
Minify HTML markup for faster page loads or beautify it for readable, indented source
Comments
0 comments
No comments yet. Be the first to share your thoughts!