我的網站上有一項功能,允許我的用戶創建自定義“網頁”。他們可以隨心所欲地在其中添加 HTML 元素、CSS 和自定義 javascript 代碼。我打算保存整個網頁(HTML,CSS,JavaScript的,jQuery的)代碼MySQL數據與TEXT或MEDIUMTEXT(除非你有一個更好的解決辦法可能?)。我也在使用 PHP。這是我插入代碼的一部分:$stmt = prepare("INSERT INTO webpages (content) VALUES (:content));...如何保護插入到數據庫中的內容/網頁代碼,和/或保護顯示的文本?這是檢索代碼的一部分:$stmt = prepare("SELECT * FROM webpages WHERE id = :id");...謝謝你
2 回答

眼眸繁星
TA貢獻1873條經驗 獲得超9個贊
通常,如果您要存儲和顯示來自用戶的 HTML,您應該通過htmlpurifier 之類的工具運行它以確保 HTML 中沒有惡意內容。
但是,這將刪除任何 javascript,因為您不能信任提交的任何內容。
另一種方法是在 iframe 中顯示用戶的 HTML,方法是將其內容設置為保存的 HTML,并啟用沙盒選項。
- 2 回答
- 0 關注
- 181 瀏覽
添加回答
舉報
0/150
提交
取消