禁止在Python中导入

9 投票
1 回答
595 浏览
提问于 2025-04-17 07:57

我在一个应用程序中嵌入了Python,让用户可以编写Python脚本。我想要限制用户导入模块,以防他们造成任何损害,并且必须使用提供的API。

我想出了以下的Python代码:

__builtins__ .__import__= None 
reload = None

这段代码似乎可以阻止导入模块,并且防止模块被重新加载。防止重新加载是必要的,因为这样用户就不能重新加载内置模块,从而让他们再次获得有效的导入权限。

不过我并不是Python方面的专家。我还有什么其他的地方需要注意,以防用户仍然能够导入模块吗?

谢谢

1 个回答

3

你可能想要在一个安全的环境中运行Python,这种环境叫做“沙箱”。有很多方法可以做到这一点,比如PyPy就有沙箱支持

你也可以尝试使用外部工具来对Python进程进行沙箱处理,不过这可能要看你使用的操作系统。

撰写回答