2011-04-24 113 views
1

在我的Python应用程序中,我将调用第三方的Python模块。但是这些模块必须对安全问题有一些限制。例如,他们不能调用一些低级IO功能。我可以有办法禁止这些第三方模块调用特定功能(模块)吗?如何禁止Python模块调用其他模块?

在我的理解,我可以使用两种方法:

  1. 检查第三方的代码,我们使用静态之前。这很难做到。当然,我可以使用一些代码自动执行它,但这不是安全的,因为有些人可以使用一些技巧来避免它。
  2. 做一些配置,以便在第三方代码执行某些非法操作时会引发错误。我如何正确地做到这一点?我不能简单地删除一些模块,因为有些文件可以导入它们,有些则不能。

有没有更好的想法来做到这一点?

+2

http://wiki.python.org/moin/SandboxedPython有你一些更多的想法,但没有,我能找到具体的答案。 – 2011-04-24 15:39:45

回答