简体中文

开发者工具 · HTML 实体转义器

转义、剥离或清理 HTML:三种技术以及何时使用每种技术

· 工作原理

html 安全 文本处理

转义、剥离或清理 HTML:三种技术以及何时使用每种技术(显示为浏览器安全的字符参考图)
原始 ToolAcre 矢量图

转义将标记显示为文本,剥离将其删除,清理保留安全子集。这篇文章解释了每种技术的实际作用、每种技术的失败之处,以及如何为您的输入选择正确的技术。

应该显示代码但却运行它的注释 - 三种技术中的错误选择

本应显示代码的注释却运行了它——这是三种技术中的错误选择。当应用程序将其呈现为 HTML 时,可以执行旨在显示标记的注释。第一个决定是产品是否需要纯文本、无标记,还是有意限制丰富的子集。

要验证转义与清理 html,请构建供开发人员构建评论系统的评论。保留应该在三操作选择生成并运行它时显示代码;确定哪些地方消费了错误的选择。对三种技术的观察仅属于 HTML 文本。

转义:标记变成可见文本 - 更改了什么、保留了什么以及为什么它是默认值

转义:标记变成可见文本 - 更改了什么、保留了什么以及为什么它是默认值。转义会保留每个字符,同时将标记关键字符更改为引用。浏览器将原始符号显示为文本,使其成为注释和代码示例的正确默认值。

构建注释系统的开发人员可以通过在三操作选择通过之前记录文本来测试转义标记是否变得可见。比较被保留,为什么之后并找到负责它的解析器是默认的。这个转义与清理 html 结果解释了三操作选择证据,而不是可执行上下文。

剥离:删除标签 — 为什么正则表达式标签剥离不可靠以及它会丢失什么

剥离:删除标签 - 为什么正则表达式标签剥离不可靠以及它会丢失什么。剥离会删除明显的标签并丢失结构、标点符号或单词。正则表达式无法足够可靠地对浏览器错误恢复、原始文本元素或格式错误的嵌套进行建模以定义安全性。

在简短的三操作选择示例中隔离剥离删除标签的原因。显示正则表达式标签剥离作为文字源,跟踪不可靠的内容及其目的地,并命名 API 读取丢失。对于转义与清理 html,三操作选择证据仍然是解析器绑定的证据。

清理:允许子集 — 允许列表、属性规则以及为什么它是三者中最难的

清理:允许子集 — 允许列表、属性规则以及为什么它是三者中最难的。清理会解析或标记标记,并保留元素、属性和 URL 方案的显式允许列表。这要困难得多,因为浏览器解释、格式错误的输入和嵌套语言都很重要。

将允许子集的清理视为边界实验。构建评论系统的开发人员应该保留允许列表属性规则,执行一个三操作选择操作,并在更改最难的字符之前逐个字符地检查它的原因。关于三层的说法就止于此 HTML 层。

工作示例:通过所有三个相同的用户输入 - 比较结果文本或标记

工作示例:通过所有三个相同的用户输入 - 比较结果文本或标记。鉴于 <strong onclick="go()">Hi & bye</strong>, 转义显示了整个源代码,剥离 Hi & bye 的目标,并且在经过验证的策略下,清理可能会保留 <strong> 同时删除 onclick。

使用无害的输入而不是客户材料重现相同的工作示例。记录所有用户输入,观察三个结果文本,并计算每个有意的三操作选择传递。这种逃逸与清理 html 的轨迹让构建评论系统的开发人员可以评估或标记比较以及三操作选择证据,而无需猜测。

按意图选择 — 纯文本和代码示例转义;富文本清理;剥离很少是正确的

按意图选择 — 纯文本和代码示例转义;富文本清理;剥离很少是正确的。从意图中选择:纯文本和示例均被转义;支持的富文本通过专门的、维护的策略进行清理;剥离是一种有损转换,并不是 XSS 保证。

在三操作选择审查期间并排放置按意图选择的纯文本、文本和代码示例以及转义富文本清理。然后,构建评论系统的开发人员可以决定剥离是否很少在转换时或下游进行正确更改。将有关三操作选择证据的逃逸与清理 html 结论保留在一般安全声明之外。

这不包括什么 - Markdown 渲染和内容安全策略作为附加层

这不包括 - Markdown 渲染和内容安全策略作为附加层。 Markdown 和内容安全策略添加了单独的阶段。 Markdown 生成的 HTML 仍然需要安全渲染,而 CSP 可以限制后果,但不能纠正不安全的输出决策。

定义在运行三操作选择之前这不做什么。保存覆盖 Markdown 渲染并作为控件,检查内容安全策略背后的代码点,并将附加层映射到下一个解释器。这使得构建评论系统的开发人员可以审核三操作选择证据,以调查逃逸与清理 html。

要点:ToolAcre 仅执行转义,而不执行剥离或清理

要点:ToolAcre 仅执行转义,不执行剥离或清理。 ToolAcre 仅执行转义情况。它不是 XSS 清理程序,也不接受恶意 HTML 来实现安全丰富的渲染;它将类似标记的输入转换为 HTML 文本。

连接外卖ToolAcre执行转义到可观察的三操作选择输出。仅保留不剥离或在一次通过结果旁边,然后验证消毒进入三操作选择的证据。构建评论系统的开发人员现在可以审查三操作选择证据,作为死里逃生与净化 html 发现的比较。本文背后的实际决策是具体的:转义将标记显示为文本,剥离将其删除,清理保留安全子集。这篇文章解释了每种技术的实际作用、每种技术的失败之处,以及如何为您的输入选择正确的技术。阅读器操作同样具体:链接到 HTML 实体转义器并演示转义用户输入片段,使其显示为文字标记。