我设计游戏并且有一些独特的问题。
为了玩游戏,玩家各自编写一个简单的javascript程序,不断向我的后端请求游戏状态,然后决定做什么并发布他们的移动(也发布到我的后端)。
我想将用户脚本存储在我的最后,所以我已经给他们提供了使用标准HTML5输入类型="文件"上传脚本的选项。然后我使用FileReader读取原始二进制文件,并将该二进制输入关联为" bot"对于Mongo中的用户。 (我的后端写在Go)
FileReader的文档:
https://developer.mozilla.org/en-US/docs/Web/API/FileReader
到目前为止,我找到了将二进制文件转换回ascii的资源:
Converting Binary to text using javascript
我找到了一个javascript解释器,我可以据称执行javascript: https://github.com/jterrace/js.js
在这种情况下,是否有更好的方法来运行上传的代码,可能是作为可执行文件?是一个像JSJS一样的javascript沙箱解决方案吗?
答案 0 :(得分:-1)
对任何用户提交的代码进行沙盒处理应始终是一个好主意,无论它是在客户端还是服务器上执行。