javascript - 如何避免双重 HTML 转义文本?

标签 javascript html

在我的应用程序中,有时某些文本可能会或可能不会被 html 转义(取决于数据的来源)。我想确保未转义的文本被转义,但已经转义的文本不会再次转义。

人们通常如何解决这个问题?

最佳答案

您无法从数据中分辨出来。

例如:

Bob & Alice

… 可以是“Bob & Alice 的 HTML 表示”,也可以是“Bob & Alice 的纯文本表示”(例如来自 HTML教程)。

既然你说:

depending on where the data came from

…跟踪它的来源,并确保您知道来源是否提供可信的 HTML 或纯文本。

如果您不知道,那么您如何处理将取决于上下文。安全的选择是假设它始终是纯文本,因此始终对其进行编码。这将保护您免受脚本注入(inject)攻击。

关于javascript - 如何避免双重 HTML 转义文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244421/

相关文章:

javascript - 降低 Javascript 中 DOM 搜索频率

javascript - Ember Array 调用 get 就返回 findBy 返回未定义

html - 如何使用 CSS 为 HTML 表单中的单选按钮制作多行、垂直和水平对齐的标签?

python - 提交表单以从就业委员会抓取数据

javascript - 简单的 HTML/CSS 标签导航在 Safari 9 中不起作用。为什么?

javascript - Websockets blob 解码的性能导致内存问题

javascript - 如何通过on-tap函数从html到javascript获取 "index-as"值?

html - 如何删除响应式导航栏中的空间?

javascript - 如何将模态框向下移动

javascript - 创建 Highchart(柱形图)并从外部 json 文件读取数据