Sto scrivendo un'app e voglio che gli utenti siano in grado di inserire file python per casi d'angolo. Nella mia testa il modo migliore che posso pensare di fare questo è salvare il loro file su disco e salvare la posizione su un DB, quindi importarlo dinamicamente usando __import__()
e quindi eseguirlo. La prima parte della mia domanda è: è questo il modo migliore per farlo?Leggere dinamicamente in un file python ed eseguirlo in modo sicuro
Inoltre, questo porta alcuni problemi di sicurezza piuttosto grandi. C'è un modo per eseguire il loro modulo sotto restrizione? Per non lasciare che veda il file system o qualcosa del genere?
Edit:
L'esecuzione del pitone sarebbe quello di recuperare i dati da un servizio di back-end che è al di fuori del campo di applicazione "normale", quindi non sarebbe una piena applicazione. Potrebbe essere solo una definizione di un protocollo personalizzato.
http://wiki.python.org/moin/SandboxedPython ... stavo per dirlo come risposta ... ma in realtà basta leggere questo articolo ... –