Buscando cms en python, ideas
Hernán MF
hernan en orgmf.com.ar
Mar Ene 17 11:08:05 CET 2006
>> No creo que cueste mucho armar un tipo MIME application/x-python y
>> que el browser levante el intérprete Python.
Las extensiones pywin permiten hacer algo así para el IE de Microsoft.
Solo tienes que registrar a python como ActiveX. El instalador de
la primer versión de pywin lo registraba por defecto para mostrar
al programador las posibilidades de python como lenguaje de applet.
Se hizo tan popular esa extensión que luego esa "feature" se
convirtió en un agujero de seguridad enorme.
>> .... Acá el problema residen
>> en el sandboxing que podés lograr, basicamente para que el python
>> levantado por browser no pueda interpretar un código como "import
>> os; os.remove(*)".
> Una cosa así sería desaconsejable.
>
> # Destruir el sistema
> os.system('rm -fr /*')
>
> ¿Acaso se puede hacer algo así desde un applet de Java?
No.
> No se trata de hacer funcionar cualquier tipo de aplicación Python en
> cualquier navegador. Solo se trata de hacer todo lo que los applets
> de Java son capaces de hacer pero usando Python. Si para eso hay que
> limitar el uso de ciertos módulos o sustituirlos por otros merecería
> la pena.
>
> Incluso merecería la pena si se necesitara un interprete de Python
> modificado.
Lo que describes como "Solo se trata de hacer..." es lo que Facundo
llama 'sandbox'. Es una tarea ímproba. Durante muchos
años python ya tenía un módulo de ejecución restringida y a partir
de la versión 2.3 se deshabilitó por sus agujeros de seguridad.
Una de las características mas bonitas de Python es la impone
mas problemas de seguridad: la instrospección.
Si mal no recuerdo (cito de memoria y puedo estar completamente
equivocado), GvR dijo hace un tiempo que un modelo de
ejecución restringida (venga como módulo, extensión o modificación
del intérprete) podría ser incorporado a la versión oficial
siempre y cuando:
- sea auditable,
- el modelo pueda 'demostrar' su seguridad (es como decir que el
modelo esté libre de bugs)
> Java como lenguaje es en mi opinión mucho peor que Python y su
> desarrollo continua siendo controlado por Sun. Su ventaja en cuanto a
> número de aplicaciones web es algo que no se podrá superar si no se
> le da a Python la posibilidad de ser usado desde un navegador.
> Si se hiciera algo así Java quedaría herido de muerte.
Con la popularidad que JavaScript ganó en el último año (aplicado
en lo que ahora se llama Ajax) dudo que hoy día Python tenga
oportunidad en ese nicho.
Aún así un entorno de ejecución restringida para python tendría
*muchisima* demanda como lenguaje de scripting embebido en
aplicaciones y servicios donde ser requiera ejecución segura
de código no certificado.
-H.
Más información sobre la lista de distribución Python-es