沙箱
最后更新于:2022-04-01 04:03:36
Jinja2 沙箱用于为不信任的代码求值。访问不安全的属性和方法是被禁止的。
假定在默认配置中 env 是一个 SandboxedEnvironment 实例,下面的代码展示 了它如何工作:
~~~
>>> env.from_string("{{ func.func_code }}").render(func=lambda:None)
u''
>>> env.from_string("{{ func.func_code.do_something }}").render(func=lambda:None)
Traceback (most recent call last):
...
SecurityError: access to attribute 'func_code' of 'function' object is unsafe.
~~~