2010-07-13 29 views
1

我需要從數據庫中檢索一些HTML標記以顯示在我的頁面中。但是,當Web服務器輸出查詢結果(一個小的html塊)時,它會在輸出頁面之前對HTML進行編碼。如何不正確地編碼我的HTML塊,以便它在頁面中正確顯示

實施例:<a>變得&lt;a&gt;

服務器行爲不能被改變。如果我能改變它,我會的!

有沒有一種方法可以將我的HTML塊存儲在數據庫之前進行編碼,因此當服務器呈現頁面時,塊會被編碼/解碼(?)並正確顯示?

我不確定這甚至是可能的。

+0

你可以展示一些代碼或提供一些關於你使用的平臺的細節等嗎? – BobbyShaftoe 2010-07-13 20:33:54

+0

您使用什麼平臺/應用程序/技術從數據庫中提取內容並生成HTML頁面以顯示給用戶和/或將內容推送到數據庫中? – JohnFx 2010-07-13 21:36:27

+0

問題是平臺不可知的,否則我會把它放在問題的描述中。該平臺是Cognos 8. – Philippe 2010-07-14 03:07:44

回答

1

否。如果輸出階段是從數據庫中提取的HTML編碼數據,那是因爲它設計爲以文本方式處理數據庫內容,並故意不允許HTML輸出。這通常是你想要做的,就像有人可以將數據注入顯示爲原始HTML的數據庫一樣,你可能會遇到跨站點腳本安全問題。

如果您想要原始HTML輸出,您必須將輸出階段更改爲不轉義標記字符。沒有可能的「未編碼比原始」格式,編碼時會輸出原始HTML。

+0

這是一個私人網站,所以沒有xss安全問題。但是從你告訴我的情況來看,沒有辦法'欺騙'服務器進行編碼,所以它會通過有效的html進行轉換。我這樣做。 – Philippe 2010-07-14 03:06:58