2013-03-22 45 views
0

所以我正在開發一個socket.io實時網絡應用程序。 我的第一個擔憂是「如果一些頭腦不清的用戶試圖通過開發工具或Firebug注入一些代碼會怎麼樣?」我在這裏得到了我的答案。我的下一個擔憂是:「如果一些頭腦不清的用戶試圖通過聊天和/或其他形式的字符串輸入注入一些代碼會怎樣?」我得出的結論是我無法自己弄清楚這一點。我知道我可以使用正則表達式來查找用戶是否正在嘗試注入代碼,但一旦代碼被髮送到服務器並存儲到它被執行的字符串中。 (例如:var data = " *asd "; while(1);* "; [用戶發送字符串是*之間的那個])。所以我的問題是:我該如何防止這種情況?換句話說如何清理用戶輸入?如何從代碼注入中保護socket.io?

+0

你必須把所有的用戶輸入字符串 – Ibu 2013-03-22 18:31:02

+0

你是什麼意思?我把所有的用戶輸入視爲字符串..對不起,我似乎不明白你的意思。 – Romeo 2013-03-22 18:32:27

+0

如果輸入總是被視爲字符串,用戶輸入'while(1);'所有將要發生的是聊天中的其他用戶將看到while(1);' – Ibu 2013-03-22 18:37:17

回答