在我的应用程序中,有时某些文本可能会或可能不会被 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/