让用户上传Python脚本执行
我明白,让任何匿名用户上传任何类型的文件是有风险的,尤其是代码文件。不过,我有个想法,想让用户能把自定义的AI脚本上传到我的网站上。我会提供一个模板,这样用户就可以在我用Python写的在线网页游戏中与其他AI进行竞争。我需要一个解决方案,确保用户上传的脚本不会影响到其他文件或者注入恶意代码,或者是一个可以在客户端执行游戏的方案。有没有什么建议?(我希望这个解决方案能与我的Python脚本兼容)
6 个回答
8
使用PyPy,你可以创建一个Python沙箱。这个沙箱是一个独立的、应该是安全的Python环境,你可以在里面运行他们的脚本。想了解更多信息可以查看这里
http://codespeak.net/pypy/dist/pypy/doc/sandbox.html
“理论上,从这个提示符下做任何坏事或者读取机器上的随机文件都是不可能的。”
“即使script.py来自某个随机的不可信来源,比如通过HTTP服务器提供的,这样做也是安全的。”
0
为用户提供一个功能丰富的API,并在上传时去掉所有其他的调用,比如导入语句。同时,也要去掉所有与文件输入输出相关的内容。
(你可能需要多次检查,以确保没有漏掉什么。)