Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
-Tutoriales

Escribir Applets


Restricciones de Seguridad

Uno de los principales objetivos del entorno Java es hacer que los usuarios de navegadores se sientan seguros cuando ejecutan cualquier applet. Para alcanzar este objetivo, se ha empezado de forma conservadora restringiendo capacidades, quizás más de las necesarias. Cuando el tiempo pase, los applets probablemente tendrán más habilidades.

Está página nos cuenta las restricciones actuales de los applets, desde el punto de vista de cómo afectan al diseño de applets. Frequently Asked Questions - Applet Security

Todo visualizador de applets tiene un objeto SecurityManager que chequea las violaciones de seguridad de los applets. Cuando un SecurityManager detecta una violación, crea y lanza un objeto SecurityException. Generalmetne, el constructor de la SecurityException imprime un mensaje de aviso en la salida estándar. Un applet puede capturar las SecurityExceptions y reaccionar de la forma apropiada, como avisar al usuario y saltar a una forma "segura" (pero menos ideal) de realizar la tarea.

Algunos visualizadores de applets ocultan algunas SecurityExceptions, para que el applet nunca obtenga la SecurityException. Por ejemplo, la implementación del Applet Viewer del JDK de los métodos getApplet y getApplets de AppletContext simplemente capturan e ignoran cualquier SecurityExceptions. El usuario puede ver los mensajes de error en la salida estándar, pero el applet obtiene un resultado válido desde los métodos. Esto tiene sentido, ya que desde getApplets debería ser posible volver cualquier applet válido que encuentre, incluso si encuentra unos inválidos. (El Applet Viewer considera un applet válido si fue cargado desde el mismo host que el applet que llamó a getApplets.)

Los applets tienen las siguientes restricciones:

Los Applets no pueden cargar librerías o definir métodos nativos.
Los Applets sólo pueden usar su propio código Java y el API Java que proporciona el visualizador. Como mínimo, todo applet debe proporcionar acceso al API definido en los paquetes java.*.
Normalmente un applet no puede leer o escribir ficheros en el host en el que se está ejecutando.
El AppletViewer del JDK permite algunas excepciones a esta regla especificadas por el usuario, pero por ejemplo Netscape Navigator 2.0, no lo hace. Los applets en cualquier visualizador pueden leer ficheros especificados con URLs completas, en lugar de con nombres de ficheros. Un atajo para no tener que escribir ficheros es tener un applet que re-envíe datos a una aplicación en el servidor del que vino. Esta aplicación puede escribir los datos en ficheros de su propio host. Puedes ver la página Trabajar con una Aplicación del Lado-del-Servidor para más ejemplos.
Un applet no puede hacer conexiones de red excepto con el host del que vino.
El atajo para esta restriccion es hacer que el applet funcione con una aplicación en el host del que vino. La aplicación puede hacer sus propias conexiones a cualquier lugar de la red. Puedes ver más ejemplos en la página Usar un Servidor para Esquivar las Restricciones de Seguridad.
Un applet no puede arrancar ningún programa en el host en el que se está ejecutando.
De nuevo, un applet puede trabajar con una aplicación en lado del servidor para evitar esto.
Un applet no puede leer ciertas propiedades del sistema.
Puedes encontrar más información en la página Leer Propiedades del Sistema.
Las ventanas que muestran los applets tienen un aspecto distinto a las que muestran las aplicaciones.
Las ventanas de los Applets tienen algún texto de aviso y una barra coloreada o una imagen. Esto ayuda al usuario a distinguir las ventanas de los applets de aquellas de las aplicaciones verdaderas. Las siguientes figuras muestran un ventana traída por un programa que se puede ejecutar tanto un applet como una aplicación. La primera figura muestra el aspecto de la ventana cuando el programa se ejecuta como una aplicación sobre la plataforma Solaris. La segunda imagen muestra la ventana cuando el programa se ejecuta como un applet dentro del navegador Netscape Navigator 2.0 de Solaris.

Como puedes ver, la ventana del applet tiene un aviso.

 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network