2012-06-24 40 views
0

我使用jQuery的redactorjs爲我的表單讓我的用戶輸入格式化美麗的文字。但是在瀏覽stackoverflow後,我發現用戶的一些答案我永遠不會接受預先格式化的輸入。這裏是問題linkjQuery WYSIWYG編輯器是否安全使用?

我希望我的網站是安全的,所以本作我的網站的安全性較低,如果我用這個jQuery插件?

+0

主編其實是脆弱的到XSS。你不應該使用它的輸出沒有進一步的驗證。 – Gumbo

+0

這與任何其他形式的用戶控制輸入沒有區別。隱藏的表單變量也有安全影響... – rook

回答

0

接受來自客戶端的任何HTML輸入是不安全的。即使jQuery插件不允許用戶製作XSS,也很容易修改客戶端運行的代碼。

您應該接受來自用戶的輸入,例如markdown(例如StackOverflow),或者使用經過認真列入白名單的HTML標記和屬性集合(確保生成有效的HTML作爲輸出)。這是一件非常艱難的事情,但要獲得正確的結果,最好使用經過充分驗證的庫,以實現最佳安全性。

+0

如果我使用stripslashes輸出內容,該怎麼辦? –

0

你指的這個鏈接是有關SQL注入。這裏的要點是,你不能使用客戶端庫來防止有害的輸入。但是,您使用庫來讓用戶輸入格式化文本,這非常合適。

你需要做的,不管你用什麼樣的庫在客戶端什麼,是確認你在服務器端輸入。你必須承認,惡意用戶在技術上是可以繞過你在客戶端的所有庫和發送任何他喜歡你的服務器,因此服務器必須驗證對即SQL注入攻擊等所有輸入