我将python作为脚本平台嵌入到应用程序中,因此用户可以编写python脚本。我试图阻止进口,因此它们无论如何都不会造成损害,并且必须坚持使用提供的API。
我提出了以下Python代码:
__builtins__ .__import__= None
reload = None
这似乎可以防止导入并阻止重新加载模块。需要防止重新加载,因此他们无法重新加载内置组件,从而使它们恢复工作状态。
但我不是Python专家。我还缺少其他任何用户仍然可以导入模块的东西吗?
由于
答案 0 :(得分:2)
您可能想要的是在沙箱中运行Python。有很多方法可以做到这一点,例如PyPy有sandboxing support。
您也可以使用外部工具尝试沙盒化Python进程本身,但我认为这取决于操作系统。