Los archivos que se instalan con la aplicación de AIR tienen acceso a las API de AIR. Por razones de seguridad, el contenido de otras fuentes no lo tienen. Por ejemplo, esta restricción impide que el contenido de un dominio remoto (como http://example.com) lea el contenido en el directorio del escritorio del usuario (o peor).
Dado que existen vulnerabilidades en la seguridad que se pueden abusar llamando a la función
eval()
(y API relacionadas), de forma predeterminada, el contenido que se instala con la aplicación tiene restricciones para utilizar estos métodos. Sin embargo, algunas arquitecturas de Ajax utilizan el llamado de la función
eval()
y API relacionadas.
Para estructurar el contenido adecuadamente para que funcione en una aplicación de AIR, se deben tener en cuenta las reglas de las restricciones de seguridad en el contenido proveniente de diferentes fuentes. El contenido que procede de diferentes fuentes se sitúa en clasificaciones de seguridad independientes, denominadas entornos limitados (consulte
Entornos limitados de seguridad
). Como valor predeterminado, el contenido instalado con la aplicación se instala en un entorno limitado denominado entorno limitado de
aplicación
y este entorno le concede acceso a las API de AIR. El entorno limitado de la aplicación normalmente es el entorno limitado más seguro, con restricciones diseñadas para prevenir la ejecución de código sospechoso.
El motor de ejecución permite cargar el contenido instalado con la aplicación en un entorno limitado diferente del entorno limitado de la aplicación. El contenido en los entornos limitados que no pertenecen a la aplicación funciona en un entorno de seguridad similar al de un típico navegador web. Por ejemplo, el código en entornos limitados que no pertenecen a la aplicación puede utilizar el método
eval()
y métodos relacionados (pero a la vez no puede acceder a las API de AIR). El motor de ejecución incluye maneras para que el contenido en diferentes entornos limitados se comuniquen de modo seguro (sin exponer a las API de AIR a contenidos que no sean de la aplicación). Para más información, consulte
Uso de scripts entre contenidos en diferentes entornos limitados de seguridad
.
Si se llama al código que no se puede utilizar en un entorno limitado por razones de seguridad, el tiempo de ejecución distribuye un error de JavaScript: “Adobe AIR runtime security violation for JavaScript code in the application security sandbox” (Infracción de seguridad del motor de ejecución de Adobe AIR para el código JavaScript en el entorno limitado de seguridad de la aplicación).
Para evitar este error, siga las prácticas de codificación que se describen en la siguiente sección,
Cómo evitar errores de JavaScript relacionados con la seguridad
.
Para obtener más información, consulte
Seguridad HTML en Adobe AIR
.