1

我需要从数据库中检索一些 HTML 标记以显示在我的页面中。但是当 Web 服务器输出查询结果(一个小的 html 块)时,它会在输出到页面之前对 HTML 进行编码。

例子:<a>变成&lt;a&gt;

无法更改服务器行为。如果我能改变它,我会的!

有没有一种方法可以在将 HTML 块存储到 db 之前对其进行编码,这样当服务器呈现页面时,该块会被编码/解码(?)并正确显示?

我不确定这是否可能。

4

1 回答 1

1

不。如果输出阶段是从数据库中获取的 HTML 编码数据,那是因为它被设计为将数据库内容作为文本处理,并且故意不允许 HTML 输出。这通常是您想要做的,好像有人可以将数据注入显示为原始 HTML 的数据库中,您可能会遇到跨站点脚本安全问题。

如果您想要原始 HTML 输出,则必须将输出阶段更改为不转义标记字符。没有可能的“比原始未编码更多”的格式会在编码时输出原始 HTML。

于 2010-07-13T20:41:20.027 回答