【发布时间】:2011-02-05 23:15:10
【问题描述】:
如何防止 html 实体的双重编码,或以编程方式修复它们?
我正在使用HTML::Entities perl 模块中的 encode() 函数对用户输入中的 HTML 实体进行编码。这里的问题是我们还允许用户直接输入 HTML 实体,而这些实体最终会被双重编码。
例如,用户可以输入:
Stackoverflow & Perl = Awesome…
这最终被编码为
Stackoverflow & Perl = Awesome…
这在浏览器中呈现为
Stackoverflow & Perl = Awesome…
我们希望它呈现为
Stackoverflow & Perl = Awesome...
有没有办法防止这种双重编码?或者有没有可以轻松纠正这些双重编码问题的模块或代码sn-p?
非常感谢任何帮助!
【问题讨论】:
-
必须……而不是巨魔……关于静态类型系统……
-
@jleedev => 这与静态类型系统有什么关系?
-
好吧,我还没有完全阅读整个问题。将脏用户输入与经过清理的输出分开是相关的。