我知道这是technically a duplicate question上执行Python代码,但我相信它是有效的,因为原来的问题是7年前提交的,因为那么Python/Web安全已经走过了很长的路要走。允许用户在服务器
我想建立一个Web应用程序,允许用户输入Python代码(通过编辑王牌包),然后在服务器上使用Python解释器在浏览器中执行它。我不能使用pypy.js,因为我需要使用numpy,pandas和matplotlib。本质上,我想创建自己的Codecademy(我是一名老师,并希望为我的学生创建Codecademy类课程)。令人遗憾的是,Codecademy在某个时候提到的创造性课程一直没有成功。
我使用的烧瓶中,但我可以学习Django的是否会更容易些。
什么是让我的用户,而不让他们影响程序或访问文件的其余部分他们被允许到什么外面跑了Python代码的最佳方式?
那么,你的问题是什么?确保它不太宽! –
即使您信任他人,也允许任何人执行代码都存在安全风险。我想像CodeAcademy在一个微型虚拟机(或类似的东西)中运行每个用户,这样他们就不会对主系统造成任何伤害。 –
也许,如果您使用了从主机系统中分离出来的过程中,你并不需要一个VM的开销(我想这就是Rushy是指的是“那种东西”),即。码头工人而不是虚拟机,如果你不信任你的学生,最终会强制访问控制。 – jpic