|
|
1
8
|
|
|
2
8
使用PyPy,你可以创建一个python沙盒。沙箱是一个独立且据称安全的python环境,您可以在其中执行他们的脚本。更多信息请点击此处 http://codespeak.net/pypy/dist/pypy/doc/sandbox.html “理论上,不可能从这个提示中做任何坏事或读取机器上的随机文件。” “即使script.py来自一些随机的不受信任的来源,例如如果它是由HTTP服务器完成的,这样做也是安全的。” |
|
|
3
4
除了其他保障措施外,您还可以对代码进行人工审查。假设体验的一部分是审查其他成员的解决方案,并且每个人都是python开发人员,那么在一定数量的成员投票之前,不要允许激活新代码。你的用户不会批准恶意代码。 |
|
|
4
3
对。 允许他们编写客户端脚本,而不是您的服务器。 |
|
|
5
1
正如建议的那样,PyPy在服务器端可能是一个不错的选择,但我会考虑让你的python后端提供定义良好的API和数据格式,并让用户在Javascript中实现AI和逻辑,这样它就可以在他们的浏览器中运行。因此,交互过程如下:对于每一场比赛/回合等,以定义良好的格式将数据传递给浏览器,提供一个接收数据并可以实现逻辑的javascript模板,并提供可由客户端(浏览器)调用的web API以采取所需的操作。这样,您就不必担心安全性或服务器电源。 |
|
|
6
0
为用户提供广泛的API,并在上传时剥离所有其他调用(如导入语句)。此外,剥离与文件i/o有关的所有内容。 (你可能想做多次传球,以确保你没有错过任何东西。) |