回答
數據庫與此無關;當您將它們呈現爲HTML時,您只需簡單地將片段轉義即可。
至少需要將所有&
編碼爲&
,並將所有<
字符編碼爲<
。
但是,您的服務器端語言已經具有內置的HTML編碼功能;你應該使用它而不是重新發明輪子。有關更多詳細信息,請告訴我們您的服務器端代碼所使用的語言。
根據您以前的問題,我假設您使用的是PHP。
如果是這樣,那麼您正在尋找htmlspecialchars
或htmlentities
的功能。
您要麼在存儲時將其轉義出來,要麼在顯示時將其轉義出來。在顯示器上執行它可能會更好,因此如果您稍後需要對其進行編輯,則不必對其進行解碼,然後對其進行重新編碼。另外,當你將它存儲在數據庫中時,你會希望確保你正確地轉義它,否則你會打開SQL注入。參數化語句是最好的方法,你根本不需要改變原始數據。
我同意將它保留在數據庫中是最好的。這也意味着如果你需要改變它逃脫的方式(也許你發現了一個錯誤,或者你想添加語法突出顯示),那麼你將不必經過並重新處理已經存在的所有東西。增加體面的緩存,而且你對性能也很好。 – 2010-03-24 02:52:25
對於DB **中的純文本HTML +1以及提示是SQL注入偏執狂! – lexu 2010-03-24 05:42:16
無論您如何存儲它,重要的是您如何在HTML表示中呈現它。我猜你在渲染字節之前需要做一些衛生處理。另一種選擇可能是將每個字符轉換爲HTML實體;這可能足以防止任何代碼或標籤被實際解釋。
作爲一個例子,用一些示例代碼查看堆棧溢出頁面的源代碼,並查看它們是如何在HTML中表示代碼的。
- 1. Coldfusion Builder代碼片段存儲庫
- 2. 將圖片存儲在數據庫中?
- 3. 在eclipse中存儲代碼片段
- 4. 在xcode中保存代碼片段庫
- 5. 如何將代碼片段保存到數據庫?
- 6. 如何將HTML代碼存儲在Postgresql數據庫表字段中?
- 7. 將Ruby代碼存儲在數據庫中
- 8. 將MySQL代碼存儲在mysql數據庫中
- 9. 如何將「meta」源代碼存儲在數據庫中
- 10. c#將圖片存儲到數據庫
- 11. stackoverflow如何存儲代碼片段
- 12. 代碼片段庫
- 13. 將數據存儲在數據庫中
- 14. 什麼nosql數據庫是理想用於存儲代碼/片段?
- 15. 調用存儲在數據庫中的模板片段
- 16. AS3:在數據庫中存儲動畫片段的方法
- 17. 如何插入在MySQL數據庫中的PHP代碼片段
- 18. 使用XMLHttpRequest將代碼片段提交到數據庫
- 19. 將數組存儲在數據庫中
- 20. 在Web數據庫中存儲密碼?
- 21. 替代將數組存儲在Mysql數據庫的單個字段中
- 22. 在一個字段中存儲多個數據(將數據存儲在數據庫的數組中)
- 23. 處理CakePHP中存儲在數據庫中的PHP代碼
- 24. 將圖片儲存在phpMyAdmin的數據庫中
- 25. 在sql server中保存代碼片段
- 26. 如何在數據庫中將數據存儲到數據庫
- 27. 將MKPolygon存儲在Realm數據庫中
- 28. 將ZonedDateTime存儲在Postgres數據庫中
- 29. 將歷史存儲在數據庫中
- 30. 將用戶存儲在數據庫中
是的,我正在使用PHP。 – cskwrd 2010-03-24 02:50:42
您應該通過點擊答案旁邊的向上箭頭來投票選出對您有幫助的答案。 – SLaks 2010-03-24 02:51:14