2012-08-10 42 views
2

所以我一直在開發一個小系統,在這個系統中,用戶可以在ckeditor中輸入一些HTML,然後將HTML存儲在數據庫中(這是一種microCMS )。mysqli + ckeditor =轉義並破壞html

的問題是當使用mysqli的,它之前和之後插入轉義字符「和」在

例如爲了停止噴射,在邏輯上,這破壞的HTML代碼的負荷。

變得 或幾乎所有的東西,這打破了代碼

有沒有辦法我可以禁用注入預防,或輸入到數據庫的另一種方式嗎?或mabi​​取代/「當它是從數據庫中取出?

感謝

-jman6495

編輯: 我已經解決了這個問題 我更換了/ 「被」 使用PHP str_replace函數功能。

這是代碼: $ pagecontent = str_replace('\'',''',$ pagecontent); echo $ pagecontent;

感謝反正

-jman6495

回答

1

如果在獲取數據,你看到這些字符背出你不知何故雙逃逸的內容。檢查你是否只逃脫一次,並用佔位符而不是mysql_real_escape_string。您尚未解決問題。你沒有完成嚴重錯誤的破壞。

SQL轉義的目的是正確可靠地插入數據。例如,對於MySQL,O'Reilly應該是O''Reilly。不管引用如何,數據庫中的實際內容應爲O'Reilly

+0

非常感謝謝謝! (抱歉,回覆非常晚!) – jmaris 2015-07-02 08:20:00