沙箱
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.