如何避免双HTML转义文本?

Dav*_*iov 1 html javascript

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

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

Que*_*tin 5

你无法从数据中得知.

例如:

Bob & Alice
Run Code Online (Sandbox Code Playgroud)

...可以是"HTML表示Bob & Alice",也可以是"纯文本表示Bob & Alice"(例如来自HTML教程).

既然你说:

取决于数据来自何处

...跟踪它的来源,并确保您知道源是否提供受信任的HTML或纯文本.

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