我們正在爲HTML5遊戲設計一個在線遊戲。用戶可以上傳包含他們遊戲的zip文件。允許用戶上傳HTML/JS文件的風險
在上傳時,拉鍊是由服務器解壓縮每個文件進行循環檢查它的擴展對一個白名單允許:
- 的.html
- 的.js
- png格式
- 。 JPG
- .appcache
- .M4A
- .OGG
(遊戲必須在導出這些文件的遊戲編輯器中製作)。這應該防止人們上傳zip文件,服務器端腳本文件等等。
然後遊戲被移到我們的靜態無Cookie域(scirra.net)。當我們在scirra.com頁面上玩遊戲時,遊戲顯示在指向scirra.net域的iframe中。這應該可以防止惡意JS訪問scirra.com cookie。
這是iframe技術和白名單足夠全面,以防止任何惡意的做法?請注意,我們不能真正篩選每個JS文件,因此我們應該假設人們將嘗試上傳惡意JS。
我知道這可能會導致一些瑕疵,但您需要一個類似蘋果的審批流程。 –
我認爲這也取決於您感興趣的安全類型。您是否僅對保護您的服務器感興趣,或者您是否有興趣確保不會將惡意代碼託管給遊戲玩家。如果您正在考慮這兩種情況,那麼您可能需要做更多的工作來驗證用戶是否在製作(即使在您的編輯器中)一些可能會利用遊戲玩家的狡猾JavaScript。 – RLH
@Daniel,這對我們來說並不現實。我們有大量的人想要使用它,並想要一種方式來對每個遊戲進行沙盒處理,以保證它的安全。我只是真的想知道,如果一個JS運行在不同域的框架上可能會造成任何損害。 –