什么是python的'限制执行模式'?

时间:2010-01-03 05:57:27

标签: python security

设置__builtins__并尝试访问函数全局变量时,出现此错误

>>> def f(): pass
... 
>>> f.func_globals
{'f': <function f at 0x00B83270>, '__builtins__': <module '__builtin__' (built-in)>}
>>> __builtins__ = {}
>>> f.func_globals
Traceback (most recent call last):
  File "<string>", line 1, in <string>
RuntimeError: restricted attribute
>>> 

为什么会这样,我可以在哪里阅读更多相关信息?我可以用它来保护表达评估吗?

参见问题:How safe is expression evaluation using eval?

1 个答案:

答案 0 :(得分:3)

唉,一个长期过时的概念,请参阅the docs - 最初的想法是提供一个安全/沙盒模式,但它没有成功,并且自2.3以来被放弃和弃用。

相关问题