我使用TinyMCE的我的在線編輯器,但我擔心的XSS攻擊等。 我雖然更換所有<
和>
,但是這似乎並不符合這樣的一個選項編輯器,我不確定刪除腳本標記是否足夠(onclick,onmouseover和其他事件)。所見即所得和XSS
我該如何避免此類攻擊?
我使用TinyMCE的我的在線編輯器,但我擔心的XSS攻擊等。 我雖然更換所有<
和>
,但是這似乎並不符合這樣的一個選項編輯器,我不確定刪除腳本標記是否足夠(onclick,onmouseover和其他事件)。所見即所得和XSS
我該如何避免此類攻擊?
從理論上講,你可以像這樣消除XSS,但實際上很難。總會有一些你忽視的東西。
我發現最好的方法是使用正則表達式來只允許使用某些標籤您指定(<strong>, <em> etc
),並刪除所有其他人。您還需要尋找嘗試繞過用戶編碼字符的保護措施。
你必須選擇,安全或方便。像TinyMCE這樣的所見即所得編輯器非常方便。它允許非專家使用Web界面來更新一些帶或不帶html標籤的內容。它是懶惰的方式,允許非技術人員更新html,並帶有各種危害。 當您允許用戶訪問您的數據庫的TinyMCE接口時,它絕對等於給他們一個數據庫客戶端來直接更新數據庫中的數據。
也注意到,今天有跨站點腳本的很大,是不是惡意的,這其實是在臉譜,LinkedIn,YouTube上,等整合,需要第三方域等
腳本引用因此,如果您強化TinyMCE工具,以便無法添加XSS,那麼在許多情況下,對於認真的Web開發人員來說,這將毫無用處。
但是,如果您需要創建一個添加/編輯/更新/刪除編輯器XSS證明,您需要驗證和消毒所有輸入,您的最佳選擇是推出自己的。