我正在设计一个在服务器上运行用户提交的python脚本的系统。这个脚本只允许访问几个白名单上的模块,而不访问其他模块。在
安全地实现这样的系统的一种方法是构建一个定制的python解释器,方法是删除所有模块并重写“import”的底层机制,以便只可以导入选定的模块,如here所述。但这种方法需要我做大量的工作。在
另一种方法是预处理脚本并检查是否存在关键字“import”和“eval”关键字。如果存在这些关键字,脚本将不会运行,警报将关闭。但是,有没有其他方法仍然可以导入模块并进行恶意操作?在
Tags:
读这个帖子: Letting users upload Python scripts for execution
相关问题 更多 >
编程相关推荐