Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要从数据库中检索一些 HTML 标记以显示在我的页面中。但是当 Web 服务器输出查询结果(一个小的 html 块)时,它会在输出到页面之前对 HTML 进行编码。
例子:<a>变成<a>
<a>
<a>
无法更改服务器行为。如果我能改变它,我会的!
有没有一种方法可以在将 HTML 块存储到 db 之前对其进行编码,这样当服务器呈现页面时,该块会被编码/解码(?)并正确显示?
我不确定这是否可能。
不。如果输出阶段是从数据库中获取的 HTML 编码数据,那是因为它被设计为将数据库内容作为文本处理,并且故意不允许 HTML 输出。这通常是您想要做的,好像有人可以将数据注入显示为原始 HTML 的数据库中,您可能会遇到跨站点脚本安全问题。
如果您想要原始 HTML 输出,则必须将输出阶段更改为不转义标记字符。没有可能的“比原始未编码更多”的格式会在编码时输出原始 HTML。