Me gustaría proporcionar scripts de usuario final (que se ejecutarían en el lado del servidor) en una aplicación. He estado leyendo y descubrí que el sandboxing es mucho más problemático de lo que pensaba.Creación de scripts para el usuario final
Realmente no me importa qué es el idioma. LUA, Python, JavaScript, estoy bien con cualquier cosa legible.
¿Qué tan difícil es ejecutar una función en un script que no es de confianza, pasar algo de información y obtener algo más? He leído JVM Security Manager es un no-go y Python es casi inservible, pero tengo muy poco conocimiento sobre el tema y realmente no puedo juzgar las fuentes.
¿Cómo puedo, por ejemplo, interpretar una función en JS que toma un JSON (de, digamos, Java o Python o incluso node.js) y recuperar el JSON devuelto?
Me gustaría evitar la implementación de un intérprete idiomático pythonish i-simplemente-sé-que-me-chupará.
JavaScript parece ser la opción más segura aquí. Básicamente está diseñado para este propósito exacto. –
En cuanto a sandboxing Python, hay [algunos consejos] (http://wiki.python.org/moin/Asking%20for%20Help/How%20can%20I%20run%20an%20untrusted%20Python%20script%20safely%20 % 28i.e.% 20Sandbox% 29) por ahí. –
@Lattyware: El consejo para asegurar CPython no es básicamente inútil, en mi humilde opinión. Recomiendan el robo (que no es seguro) y la virtualización (que es caro). –