禁止在Python中导入
我在一个应用程序中嵌入了Python,让用户可以编写Python脚本。我想要限制用户导入模块,以防他们造成任何损害,并且必须使用提供的API。
我想出了以下的Python代码:
__builtins__ .__import__= None
reload = None
这段代码似乎可以阻止导入模块,并且防止模块被重新加载。防止重新加载是必要的,因为这样用户就不能重新加载内置模块,从而让他们再次获得有效的导入权限。
不过我并不是Python方面的专家。我还有什么其他的地方需要注意,以防用户仍然能够导入模块吗?
谢谢
1 个回答
3
你可能想要在一个安全的环境中运行Python,这种环境叫做“沙箱”。有很多方法可以做到这一点,比如PyPy就有沙箱支持。
你也可以尝试使用外部工具来对Python进程进行沙箱处理,不过这可能要看你使用的操作系统。