[python] omezeni globalniho slovniku
Jirka Vejrazka
jirka.vejrazka na gmail.com
Pátek Březen 4 13:03:06 CET 2011
> 1. dá se nějak definovat globalní slovník na 'safe use' hodnoty?
> chci třeba jen kafe a nechci definovat jiny slovník na použití
> exec(script, my_globals, my_locals) čistě povolit jen něco.
Neda. Python te pusti vsude. Existuji projekty ktere dokazaly omezit
nektere funkce v namespace Pythonu, ale byly vetsinou zapomenuty
(bastion) nebo za nimi stoji cele tymy a vede je Guido (Google
AppEngine).
Vypada to, ze se snazis pouzit kladivo tam, kde je potreba sroubovak
(obrazne).
> 2. Zde ošetruju jen NameError při skriptu který bude obsahovat neplatnou
> proměnnou.Jde i nějak jinak zjistit jestli ten python skript je
> platný? teda bez syntax error? eval() mi ho hazí neustále.
Ano. Staci pouzit funkce Pythonu, tj. __import__() misto exec a eval.
Uz s temito maily koncim, mam dost presvedcovani lidi, ze se snazi
"znasilnit" Python.
Jirka
Další informace o konferenci Python