2012-07-22 57 views
0

我寫博客模塊,並與如何在Codeigniter中清理後顯示原始HTML文章?

$this->form_validation->set_rules('blog_data', 'Blog Post', 'trim|required|min_length[5]|xss_clean'); 

現在,輸入已消毒我已經失去了HTML造型,消毒blog_post在INPUT誰能推薦一個辦法讓造型回顯示用戶發佈的原始樣式中的博客文章?

如果在OUTPUT(而不是INPUT)處理HTML數據是一種很好的做法,那麼人們如何保留原始樣式?

例如,wordpress正在以原始形式存儲用戶博客的HTML數據,並且所有樣式標記都是完整的(原始HTML)。但它必須在輸出過程中對其進行消毒。那麼它如何保留原來的造型?

如何在codeigniter中做到這一點?請幫助我一直在敲打我的頭3天:/

Followup- @Damien Pirsy -

從SQL-DB獲得

原始代碼:

<img src="http://localhost/lok/images/63a9f0ea7bb98050796b649e85481845/11342974127.jpg" style="cursor: default; height: 208px; float: left; margin: 0px 10px 10px 0px; "> 

輸出上的Web瀏覽器獲得:

<img src="http://localhost/lok/images/63a9f0ea7bb98050796b649e85481845/11342974127.jpg" default; height: 208px; float: left; margin: 0px 10px 10px 0px; "> 
+0

你alredy說...存儲「原始」的HTML,然後只消毒你輸出的東西;原始的,原始的html不會被這個感動。它可能是malic,html不能在數據庫中造成任何傷害。所以只是不要在驗證中進行xss_clean,在輸出時將其清除 – 2012-07-22 16:12:39

+0

@Damien - 「img src」中的「樣式標籤」被xss_clean刪除,這反過來會破壞圖像樣式。 – tusharvikky 2012-07-22 16:39:49

+0

...所以不要xss_clean它...你看過我的評論嗎? – 2012-07-22 16:49:25

回答

0

在CodeIgniter中使用「htmlpurifier」。 img src樣式現在不受影響。