blob: a919df8e51b907b4ed6b4dba3a125adf9d20c900 [file] [log] [blame]
Armin Ronacher5cdc1ac2008-05-07 12:17:18 +02001Sandbox
2=======
3
4The Jinja2 sandbox can be used to evaluate untrusted code. Access to unsafe
5attributes and methods is prohibited.
6
7Assuming `env` is a :class:`SandboxedEnvironment` in the default configuration
8the following piece of code shows how it works:
9
10>>> env.from_string("{{ func.func_code }}").render(func=lambda:None)
11u''
12>>> env.from_string("{{ func.func_code.do_something }}").render(func=lambda:None)
13Traceback (most recent call last):
14 ...
15SecurityError: access to attribute 'func_code' of 'function' object is unsafe.
16
17
18.. module:: jinja2.sandbox
19
20.. autoclass:: SandboxedEnvironment([options])
21 :members: is_safe_attribute, is_safe_callable
22
23.. autoexception:: SecurityError
24
25.. autofunction:: unsafe
26
27.. autofunction:: is_internal_attribute