2010-08-25 57 views
1

我用着名的symfony框架製作了一個網站。我想爲它添加豐富的編輯功能。我找到了TinyMCE編輯器。但是出現了一個問題:用戶如何在內容中嵌入一些JavaScript代碼?如警報('hello world')。富文本編輯,防止嵌入式javascript代碼

我測試了wordpress,這是一個非常有名的博客軟件。它面臨同樣的問題。 example

如果某個人嵌入了警報腳本,這沒什麼大不了的。但是如果他們嵌入了一些危險的代碼呢?你有沒有遇到同樣的問題?我應該使用markdown而不是html嗎?用於降價編輯的任何好的部件?

回答

1

不允許在用戶輸入中嵌入任何JavaScript。這很容易在客戶端或服務器上清除。有你所支持的HTML標籤的「白名單」,並從你允許的任何東西中刪除任何事件監聽器屬性。

2

這是一個好主意,使用現有的庫來清理您的用戶輸入,html淨化器項目:http://htmlpurifier.org/似乎保持良好。