[python] omezeni globalniho slovniku

Petr Blahos petrblahos na gmail.com
Pátek Březen 4 11:23:26 CET 2011


> tedy kdyz budu mit v globals() {'kafe':5, 'mliko':10} a v externim
> skriptu mi nekdo bude menit mliko [ coz ja nechci] tak aby to hodilo
> treba NameError a kdyz bude menit kafe tak to je povolene.

Já bych doporučoval nemít ty skripty v pythonu, ale v nějakém
jednoduchém jazyku, ten parsovat a vykonávat pomocí jednoduchého
interpreteru napsaného v pythonu. Jestli jde jenom o přiřazení
hodnot do proměnných s jednoduchou aritmetikou, tak je to jednoduché.
Nebo by možná šel nějak použít
http://pypi.python.org/pypi/RestrictedPython ale já bych to nedělal.

> o druha 'jakoby' otazka by asi znela:
> Jak osetrit aby nejaky vtipalek nedefinoval externi skript treba necim
> krasnym jako """import os;os.system('**DISK_DELETE**')"""

Podobná diskuze už tady byla. Probíhalo to tak, že někdo navrhl řešení
a pak někdo další v rámci tohoto řešení navrhl, jak se smaže disk.
--
Petr


Další informace o konferenci Python