Entornos limitados de seguridadFlash Player 9 y posterior, Adobe AIR 1.0 y posterior Los equipos cliente pueden obtener archivos individuales que contienen código, contenido y datos de una serie de orígenes como, por ejemplo, sitios web externos, un sistema de archivos local o una aplicación instalada de AIR. Los motores de ejecución de Flash Player y AIR asignan individualmente archivos de código y otros recursos, como objetos compartidos, mapas de bits, sonidos, vídeos y archivos de datos, a entornos limitados de seguridad, en función de su origen, cuando se cargan. En las siguientes secciones se describen las reglas que aplican los motores de ejecución y que controlan dónde puede acceder el código o el contenido que se ejecuta en un determinado entorno limitado. Para obtener más información sobre la seguridad de Flash Player, consulte el tema de seguridad del Centro de desarrollo de Flash Player en www.adobe.com/go/devnet_security_es. Entornos limitados remotosLos motores de ejecución de Flash Player y AIR clasifican los recursos (incluyendo archivos SWF) procedentes de Internet en entornos limitados independientes que se corresponden con su dominio de origen. Por ejemplo, los recursos cargados desde example.com se situarán en un entorno limitado de seguridad diferente que los recursos cargados desde foo.org. De forma predeterminada, estos archivos tienen autorización para acceder a cualquier recurso de su propio servidor. Se puede permitir que los archivos SWF accedan a datos adicionales desde otros dominios. Para ello, es necesario conceder permisos de autor y sitio web explícitos, como los archivos de política URL y el método Security.allowDomain(). Para obtener información más detallada, consulte Controles de sitio web (archivos de política) y Controles de autor (desarrollador). Los archivos SWF remotos no pueden cargar archivos ni recursos locales. Para obtener más información sobre la seguridad de Flash Player, consulte el tema de seguridad Centro de desarrollo de Flash Player en www.adobe.com/go/devnet_security_es. Entornos limitados localesUn archivo local es un archivo al que se hace referencia a través del protocolo file: o una ruta UNC (convención de nomenclatura universal). Los archivos SWF locales se ubican en uno de los cuatro entornos limitados locales siguientes:
Se prohíbe estrictamente la comunicación entre entornos limitados locales con acceso a la red y entornos limitados locales con sistema de archivos, y entre entornos limitados locales con sistema de archivos y entornos limitados remotos. Una aplicación que se ejecute en Flash Player o un usuario o administrador no pueden conceder permiso para permitir dicha comunicación. La creación de scripts en cualquier sentido entre archivos HTML locales y archivos SWF locales (por ejemplo, mediante la clase ExternalInterface) requiere que los archivos HTML y SWF implicados estén en el entorno limitado local de confianza. El motivo de ello es que los modelos de seguridad local de los navegadores difieren del modelo de seguridad local de Flash Player. Los archivos SWF incluidos en el entorno limitado local con acceso a la red no pueden cargar archivos SWF en el entorno limitado local con sistema de archivos. Los archivos SWF incluidos en el entorno limitado local con sistema de archivos no pueden cargar archivos SWF en el entorno limitado local con acceso a la red. Entorno limitado de la aplicación de AIREl motor de ejecución de Adobe AIR añade un entorno limitado adicional, denominado entorno limitado de la aplicación, al modelo del entorno limitado de seguridad de Flash Player. Los archivos instalados como parte de una aplicación de AIR se cargan en el entorno limitado de la aplicación. Los demás archivos cargados por la aplicación presentan restricciones de seguridad que se corresponden con las especificadas por el modelo de seguridad normal de Flash Player. Cuando se instala una aplicación, todos los archivos incluidos en un paquete de AIR se instalan en el equipo del usuario en un directorio de la aplicación. Los desarrolladores pueden hacer referencia a este directorio en código a través del esquema de URL app:/ (consulte Esquemas de URI). Todos los archivos del árbol de directorios de la aplicación se asignan al entorno limitado de la aplicación cuando se ejecuta la aplicación. El contenido en el entorno limitado de la aplicación cuenta con todos los privilegios que tiene disponible una aplicación de AIR, incluyendo la interacción con el sistema de archivos local. Muchas aplicaciones de AIR solo usan estos archivos instalados localmente para ejecutar la aplicación. Sin embargo, las aplicaciones de AIR no están restringidas a solo los archivos dentro the directorio de la aplicación; pueden cargar cualquier tipo de archivo de cualquier origen. Esto incluye archivos locales del equipo del usuario así como archivos de orígenes externos disponibles, como los de una red local o en Internet. El tipo de archivo no tiene ningún impacto en las restricciones de seguridad; los archivos HTML cargados tienen los mismos privilegios de seguridad que los archivos SWF cargados desde el mismo origen. El contenido en el entorno limitado de seguridad de la aplicación tiene acceso a las API de AIR pero los contenidos en otros entornos limitados no pueden utilizarlas. Por ejemplo, la propiedad air.NativeApplication.nativeApplication.applicationDescriptor, que devuelve los contenidos del archivo descriptor de la aplicación de la aplicación, está restringido al contenido en el entorno limitado de seguridad de la aplicación. Otro ejemplo de una API restringida es la clase FileStream, que contiene métodos para leer y escribir en el sistema de archivos local. Las API de ActionScript que sólo están disponibles para el contenido en el entorno limitado de seguridad de la aplicación se indican con el logotipo de AIR en ActionScript 3.0 Reference for Adobe Flash Platform. El uso de estas API en otros entornos limitados hace que el motor de ejecución emita una excepción SecurityError. Para el contenido HTML (en un objeto HTMLLoader) todas las API JavaScript de AIR (las que están disponibles mediante la propiedad window.runtime o mediante el objeto air cuando se usa el archivo AIRAliases.js) están disponibles para el contenido en el entorno limitado de seguridad de la aplicación. El contenido HTML en otro entorno limitado no tiene acceso a la propiedad window.runtime, por lo que este contenido no puede acceder a las API de AIR o Flash Player. El contenido que se ejecuta en el entorno limitado de la aplicación de AIR cuenta con las siguientes restricciones adicionales:
Restricciones para JavaScript dentro de AIRA diferencia del contenido en el entorno limitado de seguridad de la aplicación, el contenido JavaScript en un entorno limitado de seguridad que no pertenece a la aplicación puede llamar a la función eval() para que ejecute dinámicamente el código generado en cualquier momento. Sin embargo, existen restricciones en el código JavaScript que se ejecuta en AIR en un entorno limitado de seguridad ajeno a la aplicación. Las restricciones son:
Para obtener más información, consulte Restricciones de código del contenido en entornos limitados diferentes. Configuración del tipo de entorno limitado de los archivos SWF localesUn usuario final o el administrador de un equipo puede especificar que un archivo SWF local es de confianza y permitir que cargue datos de todos los dominios, tanto locales como de red. Esto se especifica en los directorios Global Flash Player Trust y User Flash Player Trust. Para obtener más información, consulte Controles de administrador y Controles de usuario. Para obtener más información sobre los entornos limitados locales, consulte Entornos limitados locales. Adobe Flash ProfessionalSe puede configurar un archivo SWF para el entorno limitado local con sistema de archivos o para el entorno limitado local con acceso a la red estableciendo la configuración de publicación del documento en la herramienta de edición Adobe FlexPuede configurar un archivo SWF para el entorno limitado local con sistema de archivos o el entorno limitado local con acceso a la red definiendo el indicador use-network en el compilador Adobe Flex. Para obtener más información, consulte la sección sobre las opciones del compilador de aplicaciones en Building and Deploying Adobe Flex 3 Applications (Creación e implementación de aplicaciones Adobe Flex 3). La propiedad Security.sandboxTypeEl autor de un archivo SWF puede usar la propiedad Security.sandboxType estática de sólo lectura para determinar el tipo de entorno limitado al que el motor de ejecución de AIR o Flash Player ha asignado el archivo SWF. La clase Security incluye constantes que representan los valores posibles de la propiedad Security.sandboxType, del siguiente modo:
|
|