是否可以不使用“import”或“eval”在python中导入模块?

2024-04-20 05:10:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在设计一个在服务器上运行用户提交的python脚本的系统。这个脚本只允许访问几个白名单上的模块,而不访问其他模块。在

安全地实现这样的系统的一种方法是构建一个定制的python解释器,方法是删除所有模块并重写“import”的底层机制,以便只可以导入选定的模块,如here所述。但这种方法需要我做大量的工作。在

另一种方法是预处理脚本并检查是否存在关键字“import”和“eval”关键字。如果存在这些关键字,脚本将不会运行,警报将关闭。但是,有没有其他方法仍然可以导入模块并进行恶意操作?在


Tags: 模块方法用户import服务器脚本here系统