Al incrustar un intérprete de JavaScript (Rhino) en una aplicación Java (para poder crear una secuencia de comandos), ¿cómo se podría restringir los paquetes Java disponibles para las secuencias de comandos? ? Por ejemplo, solo "java.lang. *" Debería estar accesible.Rhino: restringe los paquetes Java a los que se puede acceder desde JavaScript
Respuesta
Se describe un método para bloquear el acceso a ciertos paquetes y clases (incluso a través de la reflexión) en Rhino here. La interfaz más importante es ClassShutter que proporciona control de acceso para el soporte LiveConnect de Rhino.
¿qué tal solo decir:
java = undefined; com = undefined; Paquetes = undefined;
en un script inicial que se carga primero.
Un enfoque interesante, probablemente funciona si desea desactivar * todo * el acceso a Java (no solo paquetes específicos). Por otro lado, probablemente aún puedas hacer 'obj.getClass(). ForName (" a.b.c.TheClass "). NewInstance()' para cualquier objeto que tengas en el alcance del intérprete. – Thilo
@Thilo no si sus objetos son javascript (lo cual es lo que debe hacer) – Zo72
Esa es una mala idea ya que los métodos de JavaScript parecen llamar a funciones 'java.io' que luego fallarán si no pueden encontrar el' java' clase. Intente evaluar 'print (" Hello World ");' después de undefinir 'java' y ver dónde se encuentra -' TypeError: No se puede leer la propiedad "io" de undefined'. – chrixm
- 1. Java: acceso protegido en los paquetes
- 2. genéricos que restringe los tipos a int, double, long
- 3. ¿Cómo aprendo los métodos a los que se puede acceder para ciertos objetos?
- 4. ¿Se puede acceder a IEnumerable a medida que se devuelve?
- 5. ¿Se puede acceder a los datos antiguos en CouchDB?
- 6. Java no puede acceder a los métodos de clase desde la instancia de clase
- 7. Rhino, agregando código desde varios archivos javascript
- 8. ¿Cómo se puede acceder a los llaveros de GNOME desde Ruby?
- 9. Acceder a Gmail desde Java
- 10. ¿Dónde se almacenan los paquetes del sistema Java?
- 11. ¿Por qué IE restringe los archivos JavaScript de las páginas HTML locales?
- 12. ¿Los paquetes no tienen que coincidir con los subdirectorios en los que se encuentra el archivo java?
- 13. cómo encontrar los paquetes que nos dejó
- 14. Cómo acceder a los archivos en SVN usando java
- 15. Para Java, ¿puedo importar todos los paquetes a la vez?
- 16. ¿Se puede acceder a los valores definidos en MANIFEST.MF mediante programación?
- 17. ¿Cómo se puede ejecutar Javascript usando Rhino para Java en un sandbox?
- 18. Enseñando JavaScript a los programadores de Java
- 19. Cómo convertir matrices de JavaScript Rhino-a-Java Arrays
- 20. No se puede acceder a tablas temporales desde una función
- 21. ¿Cómo se puede acceder a RouteData desde el código subyacente?
- 22. ¿Cómo se puede evitar que Javascript acceda a los datos de cookies de PHP?
- 23. Llamar a los métodos DLL desde Javascript
- 24. ¿Cómo puedo acceder a los elementos de iframe con Javascript?
- 25. Rhino: ¿Cómo devolver una cadena de Java a Javascript?
- 26. Rhino: Cómo llamar a la función JS desde Java
- 27. ¿Puede Rhino burlarse de los miembros más profundos/anidados directamente?
- 28. acceder a los resultados Vista desde variable en el código
- 29. ¿Cómo acceder a los datos de acelerómetro/giroscopio de Javascript?
- 30. ¿Puede Ruby acceder a la salida desde los comandos del shell tal como aparece?
Irónicamente, el enlace a codeutopia.net sobre el bloqueo de acceso está volviendo 403 Prohibido para mí –