Re: [Python] Importazione file esterni

2008-11-08 Per discussione Zanon Samuele
ok... risolto... un'aktra domanda... posso importare un modulo passato
all'import mediante una variabile?

cioè io sull'url o da un campo nascosto di un form mi passo il nome del file
da importare. prelevo il nome mediante:

form = cgi.FieldStorage()
tree = form.getvalue("tree")

e se provo a vare:

try:
  import tree
except ImportError:
  print "Impossibile importare il modulo: " + tree

mi dice che è impossibile importare il modulo che gli passo tramite il tree.

ciao

2008/11/8 Simone <[EMAIL PROTECTED]>

> Il venerdì 07 novembre 2008 22:09:21 Zanon Samuele ha scritto:
>
> > devo inserire per forze una classe con la funzione?o come posso fare?
>
> È sufficiente inserire un file (anche vuoto) chiamato  __init__.py
> all'interno di
> ogni directory che vuoi importare.
>
> --
> Simone
> Chiacchiera con i tuoi amici in tempo reale!
>  http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Zanon Samuele
mailto:webs86 AT gmail DOT com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importazione file esterni

2008-11-08 Per discussione Enrico Franchi

On Nov 8, 2008, at 2:20 PM, Zanon Samuele wrote:

> Qualche consiglio per validare l'input?

Dipende da quali sono le cose valide e controllare che lo siano.
Soprattutto *ragionare*.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importazione file esterni

2008-11-08 Per discussione Zanon Samuele
beh... io importo solo il file delle funzioni con quel campo... le azioni da
compiere dipendono da altri parameti che vengono passati al pannello... e
soprattutto il tutto viene gestito con permessi dati agli utenti... tutto
qui...

Il giorno 8 novembre 2008 14.26, Enrico Franchi
<[EMAIL PROTECTED]>ha scritto:

>
> On Nov 8, 2008, at 2:20 PM, Zanon Samuele wrote:
>
> > Qualche consiglio per validare l'input?
>
> Dipende da quali sono le cose valide e controllare che lo siano.
> Soprattutto *ragionare*.
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Zanon Samuele
mailto:webs86 AT gmail DOT com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importazione file esterni

2008-11-08 Per discussione Enrico Franchi

On Nov 8, 2008, at 1:16 PM, Zanon Samuele wrote:

> ok... risolto... un'aktra domanda... posso importare un modulo  
> passato all'import mediante una variabile?
>
> cioè io sull'url o da un campo nascosto di un form mi passo il nome  
> del file da importare. prelevo il nome mediante:
>
> form = cgi.FieldStorage()
> tree = form.getvalue("tree")
>
> e se provo a vare:
>
> try:
>   import tree
> except ImportError:
>   print "Impossibile importare il modulo: " + tree
>
> mi dice che è impossibile importare il modulo che gli passo tramite  
> il tree.

Ovviamente. Non puoi farlo così. In secondo luogo mi sembra veramente  
una pessima cosa avere l'input dell'utente utilizzato per caricare  
codice.
L'input dovrebbe essere attentamente validato e controllato per  
assicurarsi che non sia possibile fonte di bachi o sia un attacco tout  
court.

Potresti comunque usare dare un occhio a __import__:

http://www.python.org/doc/2.5.2/lib/built-in-funcs.html
http://diveintopython.org/functional_programming/dynamic_import.html

Ma io fossi in te *non* lo userei in quel modo.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importazione file esterni

2008-11-08 Per discussione Zanon Samuele
uno mi passa i valori tramite url... la pagina da visualizzare è un "index"
delle azioni che l'utente può eseguire. ad ogni invio di un qualche form io
faccio una verifica di quello che l'utente inserisce, e l'invio avviene
solamente se risulta valido il codice captcha che gli inserisco.

Il giorno 8 novembre 2008 14.47, Enrico Franchi
<[EMAIL PROTECTED]>ha scritto:

>
> On Nov 8, 2008, at 2:32 PM, Zanon Samuele wrote:
>
> > beh... io importo solo il file delle funzioni con quel campo...
>
> E se uno ti mette il nome di un modulo sbagliato cosa accade?
> Avrai un numero limitato di nomi di moduli accettabili: controlla che
> sia fra quelli.
>
>
> > le azioni da compiere dipendono da altri parameti che vengono
> > passati al pannello...
> > e soprattutto il tutto viene gestito con permessi dati agli
> > utenti... tutto qui...
>
> E anche quei parametri devi controllare che siano validi. Che siano
> *esattamente* come ti aspetti.
> *Specie* se il loro valore "bruto" finisce in qualche cosa che valuta
> e/o ha a che fare con il codice eseguito o caricato.
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Zanon Samuele
mailto:webs86 AT gmail DOT com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importazione file esterni

2008-11-08 Per discussione Enrico Franchi

On Nov 8, 2008, at 2:32 PM, Zanon Samuele wrote:

> beh... io importo solo il file delle funzioni con quel campo...

E se uno ti mette il nome di un modulo sbagliato cosa accade?
Avrai un numero limitato di nomi di moduli accettabili: controlla che  
sia fra quelli.


> le azioni da compiere dipendono da altri parameti che vengono  
> passati al pannello...
> e soprattutto il tutto viene gestito con permessi dati agli  
> utenti... tutto qui...

E anche quei parametri devi controllare che siano validi. Che siano  
*esattamente* come ti aspetti.
*Specie* se il loro valore "bruto" finisce in qualche cosa che valuta  
e/o ha a che fare con il codice eseguito o caricato.

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Importazione file esterni

2008-11-08 Per discussione Zanon Samuele
Qualche consiglio per validare l'input?

2008/11/8 Enrico Franchi <[EMAIL PROTECTED]>

>
> On Nov 8, 2008, at 1:16 PM, Zanon Samuele wrote:
>
> > ok... risolto... un'aktra domanda... posso importare un modulo
> > passato all'import mediante una variabile?
> >
> > cioè io sull'url o da un campo nascosto di un form mi passo il nome
> > del file da importare. prelevo il nome mediante:
> >
> > form = cgi.FieldStorage()
> > tree = form.getvalue("tree")
> >
> > e se provo a vare:
> >
> > try:
> >   import tree
> > except ImportError:
> >   print "Impossibile importare il modulo: " + tree
> >
> > mi dice che è impossibile importare il modulo che gli passo tramite
> > il tree.
>
> Ovviamente. Non puoi farlo così. In secondo luogo mi sembra veramente
> una pessima cosa avere l'input dell'utente utilizzato per caricare
> codice.
> L'input dovrebbe essere attentamente validato e controllato per
> assicurarsi che non sia possibile fonte di bachi o sia un attacco tout
> court.
>
> Potresti comunque usare dare un occhio a __import__:
>
> http://www.python.org/doc/2.5.2/lib/built-in-funcs.html
> http://diveintopython.org/functional_programming/dynamic_import.html
>
> Ma io fossi in te *non* lo userei in quel modo.
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



-- 
Zanon Samuele
mailto:webs86 AT gmail DOT com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python