2010-06-15 94 views
7

如何防止像TinyMCE這樣的所見即所得編輯器中的惡意輸入?TinyMCE安全問題:您如何防止惡意輸入?

我有一個系統的用戶不是「精通技術」(所以沒有大規模殺傷性武器),需要一個將其內容發佈到數據庫中的富文本編輯器。

我很擔心腳本攻擊和惡意輸入代碼。

回答

14

如果你只想要安全的HTML,那麼你應該使用HTML Purifier。如果你想防範XSS和阻止所有的HTML,那麼你應該使用$var=htmlspcialchars($var,ENT_QUOTES);

+0

適用於HTML淨化器。工作得很好,可以讓您在單個標籤甚至單個屬性級別自定義您想要的和您想要的 – nico 2010-06-15 21:25:32

-4
+2

JavaScript可以被攻擊者忽略,這不會阻止惡意輸入。 – rook 2010-06-15 21:25:49

+1

***從不*** ***

依賴於客戶端驗證 – Iraklis 2010-06-16 12:24:46

+3

客戶端驗證是有用的,如果正確使用增強了用戶體驗和可用性,但它必須始終伴隨着服務器端驗證。當我懶惰時,我總是從服務器端驗證開始,然後在客戶端上執行相同的檢查。 – Iraklis 2010-06-16 12:31:35

0

你無法阻止客戶端該輸入。您可以添加一些東西來阻止(或嘗試),但提交惡意代碼通常是微不足道的。你需要用PHP進行消毒。

總是顯示它之前總是逃避用戶提交的內容(htmlentities通常照顧你)。

如果你想要提交HTML的能力(如你所說你想要所見即所得),那麼你需要白名單清理提交的HTML。當我說白名單時,我的意思是標籤名稱和屬性。

我沒那麼熟悉笨,但我沒有找到this它看起來像它可以做你想做的......