我们正在为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运行在不同域的框架上可能会造成任何损害。 –