[Python] mod_python ed il giusto handler

Andrea Giammarchi andrea a 3site.it
Ven 18 Ago 2006 22:19:49 CEST


Valentino Volonghi aka Dialtone ha scritto:
>>>> exec "class Foo(object): pass"
>>>> Foo.ciao
> Traceback (most recent call last):
>  File "<stdin>", line 1, in ?
> AttributeError: type object 'Foo' has no attribute 'ciao'
>
> Il vero danno e` sovrascrivere nomi gia` esistenti nella tua 
> applicazione oltre ad altri che spendendo abbastanza tempo si 
> potrebbero trovare (attachi analoghi all'SQL injection ma fatta col 
> codice).
>
> Non ne vale proprio la pena... Meglio evitare la exec del tutto e 
> assieme a quella la eval().
>
quella dell' object no ... se la classe non esiste viene creata base, 
senza niente come argomento, quindi su un controllo a-zA-Z_ dovrei stare 
tranquillo ma esiste un modo per evitare eval sono sempre pronto per 
sceglierlo, è che non sapevo ne di type("NomeClasse", (), {}) ne di 
inspect ... grazie a tutti, c'è da studiare qui.

Saluti,
    Andrea Giammarchi


Maggiori informazioni sulla lista Python