2010-11-01 45 views
0

對於這個特殊的項目,我將使用PHP 5.3 & 的MySQL與參數化查詢CKE編輯富文本和參數化查詢,我應該擔心嗎?

對我的情況是什麼樣的一些背景:

網站上的用戶不會彼此互動。

所有用戶都只與我私下交談(機密信息),其中包含richtext。

我限制了CKE編輯器將用戶限制爲基本的html,粗體,圖像和其他格式。

現在,有兩件事:

1.)我還需要某種形式的驗證嗎?如果用戶嘗試在富文本格式中輸入html或php或任何其他代碼,它可能對我的網站有任何影響嗎?或者一旦它從數據庫中回顯出來,它會以簡單文本的形式輸出嗎?

2.)還有什麼我應該擔心的?

我還沒有開始該項目,所以我要求在準備好用戶輸入部分時做好準備。

你推薦我在我的情況下做什麼?

回答

1

1.)我還需要某種形式的驗證嗎?如果用戶試圖在 富文本格式中輸入 html或php或其他任何代碼,它可能對我的網站有任何 可能的影響嗎?或者它將 只輸出爲簡單文本一次 它是從數據庫回顯的?

當然你應該有很多方法可以使用unicde,hex和更多格式繞過這些方法。

2.)還有什麼我應該擔心的嗎?

您應該擔心Cross-Site Scripting(XSS)。您至少需要使用htmlentities功能。

echo htmlentities($text, ENT_QUOTES, "UTF-8"); 

可能的解決方案:

您可以使用HTML Purifier

HTML淨化器是用PHP編寫的符合標準的HTML 過濾庫。 HTML淨化器不僅會爲一個徹底的審計,
安全又寬容的白名單中刪除所有 惡意代碼(一般稱爲 XSS),它 也將確保您的文檔 符合標準,有些事只有 與實現有關W3C規範的全面的知識。

有用的資源:

+0

第一:你說我應該,但我不知道該怎麼做。建議?第二:你說最低限度使用htmlentities,你是說比我能做的更多嗎?如果是這樣,那麼是什麼? – Tek 2010-11-01 05:35:59

+0

@Tek:請看我最新的答案。 – Sarfraz 2010-11-01 05:36:55

+0

我點擊「添加評論」後,我看到了。謝謝!現在,這會解決這兩個問題嗎?還是我天真地認爲這就是我需要擔心的一切? – Tek 2010-11-01 05:39:49

相關問題