如何不正确地编码我的HTML块,以便它在页面中正确显示
问题描述:
我需要从数据库中检索一些HTML标记以显示在我的页面中。但是,当Web服务器输出查询结果(一个小的html块)时,它会在输出页面之前对HTML进行编码。如何不正确地编码我的HTML块,以便它在页面中正确显示
实施例:<a>
变得<a>
服务器行为不能被改变。如果我能改变它,我会的!
有没有一种方法可以将我的HTML块存储在数据库之前进行编码,因此当服务器呈现页面时,块会被编码/解码(?)并正确显示?
我不确定这甚至是可能的。
答
否。如果输出阶段是从数据库中提取的HTML编码数据,那是因为它设计为以文本方式处理数据库内容,并故意不允许HTML输出。这通常是你想要做的,就像有人可以将数据注入显示为原始HTML的数据库一样,你可能会遇到跨站点脚本安全问题。
如果您想要原始HTML输出,您必须将输出阶段更改为不转义标记字符。没有可能的“未编码比原始”格式,编码时会输出原始HTML。
+0
这是一个私人网站,所以没有xss安全问题。但是从你告诉我的情况来看,没有办法'欺骗'服务器进行编码,所以它会通过有效的html进行转换。我这样做。 – Philippe 2010-07-14 03:06:58
你可以展示一些代码或提供一些关于你使用的平台的细节等吗? – BobbyShaftoe 2010-07-13 20:33:54
您使用什么平台/应用程序/技术从数据库中提取内容并生成HTML页面以显示给用户和/或将内容推送到数据库中? – JohnFx 2010-07-13 21:36:27
问题是平台不可知的,否则我会把它放在问题的描述中。该平台是Cognos 8. – Philippe 2010-07-14 03:07:44