Python 安全地使用块生成的代码

Python 安全地使用块生成的代码,python,django,blockly,Python,Django,Blockly,我使用Google Blockly插件来构建一些逻辑块、规则等 Blockly可以直接从位于画布中的块生成python代码: 现在,我已经将区块集成到我的django web应用程序中,我想知道这是否是一种好方法,它允许我将生成的python代码安全地使用到我的web应用程序中,从而防止恶意代码直接注入我的web服务器 有什么建议吗 谢谢。没有绝对安全地运行任意代码的方法。但是有各种各样的技术来减少暴露。您可以将其作为子进程运行,而不是直接在流程中执行它。您可以将该子进程放在chroot监狱中,

我使用Google Blockly插件来构建一些逻辑块、规则等

Blockly可以直接从位于画布中的块生成python代码:

现在,我已经将区块集成到我的django web应用程序中,我想知道这是否是一种好方法,它允许我将生成的python代码安全地使用到我的web应用程序中,从而防止恶意代码直接注入我的web服务器

有什么建议吗


谢谢。

没有绝对安全地运行任意代码的方法。但是有各种各样的技术来减少暴露。您可以将其作为子进程运行,而不是直接在流程中执行它。您可以将该子进程放在chroot监狱中,并作为有限用户运行它。您甚至可以在一个独立的容器/虚拟机中运行它,该容器/虚拟机除了stdin/stdout管道之外与您的真实机器没有任何连接。或者您可以构建一个不允许任何危险的解释器(或者修改现有的解释器,如CPython)。当然,你越复杂,就越有可能犯可利用的错误。一般来说,要保护Django服务器需要做多少工作取决于该服务器的保护重要性。谢谢,基本上我需要将这些生成的代码片段注入到每分钟运行的线程中,使用块中定义的代码,我将检查定义的规则,然后发送邮件,执行http请求,等等。。。无论如何,我需要访问数据库。。。