Está usted en Indice > Construcción > Lenguajes > JavaScript > Lecciones y Paso a Paso > La seguridad en JavaScript
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

La seguridad en JavaScript

1. Introducción

JavaScript tiene un mecanismo de seguridad por el cual ningún script puede acceder a las propiedades de documentos que procedan de un servidor distinto. Se basa en el concepto del mismo origen, según el cual cuando se carga un documento de un determinado origen, un script cargado de otro origen (y en otra ventana o marco) no puede obtener ni establecer propiedades de objetos del primer documento.

El origen en este contexto queda definido como la parte de la URL que contiene el protocolo, el nombre de la máquina, el dominio y el puerto.

La política de seguridad por defecto, en todas las versiones de JavaScript, sigue la regla del mismo origen. No obstante, las versiones 1.1 y 1.2 de JavaScript han introducido variaciones sobre este modelo:

2. El marcado de datos (data tainting)

JavaScript 1.1 introduce el marcado de datos, que sólo está disponible en esta versión, habiendo sido sustituido en las versiones posteriores por el firmado de scripts. Cuando el marcado de datos está habilitado, un script de una ventana o marco puede ver las propiedades de un documento de otra ventana o marco, independientemente del origen de ambos.

Sin embargo, los desarrolladores pueden marcar (taint) los elementos de sus documentos que desean que sean privados o seguros. Si un script intenta acceder a propiedades marcadas, se mostrará un mensaje de aviso en el navegador, de modo que el usuario puede conceder o denegar el acceso a esa información. Cuando el marcado de datos está deshabilitado, se sigue la regla del mismo origen.

Algunas de las propiedades y métodos están marcadas por defecto. El autor de la página puede marcar o desmarcar los elementos de sus scripts, utilizando las funciones taint() y untaint(). En cualquier caso, para que el marcado de datos tenga efecto, debe estar habilitado, lo cual sólo puede hacerlo el usuario final, estableciendo el valor de la variable de entorno NS_ENABLE_TAINT a 1.

3. El firmado de scripts

La versión 1.2 de JavaScript elimina el marcado de datos, sustituyéndolo por el firmado de scripts, basado en el modelo de seguridad de Java para objetos firmados. Para firmar un script se utiliza la herramienta Netscape Signing Tool. Mediante este software se pueden asociar firmas digitales a scripts de una página HTML, a manejadores de eventos, a entidades JavaScript o a scripts en ficheros independientes. La firma digital y un identificador del script se almacenan en ficheros .JAR.

Los scripts firmados solicitarán privilegios especiales para ganar acceso a la información restringida, utilzando las clases Java de la Java Capabilites API. Estas clases añaden funcionalidades y mejoran el control que proporciona la clase estándar Security Manager de Java.




Autor: Iván Nieto Pérez
http://www.elcodigo.com/tutoriales/jsavanzado/jsavanzado3.html

Usuarios que han visto este tema también han visto...

- Capa Deslizante
- Función: removeChild() en Javascript
- Cambiar Estilos CSS o JavaScript
- Crear ventanas tipo Netvibes con Prototype con HTML y Javascript
- Diferencias entre Java y JavaScript


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 13-10-2008 a las 14:46:27