让我们假设有一个大型的商业项目(又名 Project),它在后台使用 Python 来管理插件,以配置可以被 Project 附加和使用的新控制界面。
有一个小信息泄漏,项目的 Python API 的某些部分泄露给了公共信息,人们能够编写 Python 脚本,这些脚本被底层 Python 实现调用,作为项目插件加载机制的一部分。
进一步,使用inspect
模块和原始__dict__
读数,人们能够找出 Project 底层 Python 实现的主要部分。
有没有办法让 Python 密码保密?
快速查看 Python 的文档揭示了一种以inspect
这种方式抑制模块导入的方法:
import sys
sys.modules['inspect'] = None
能彻底解决问题吗?