Flash Player proporciona la capacidad de utilizar
objetos compartidos
, que son objetos de ActionScript que persisten fuera de un archivo SWF, ya sea localmente en el sistema de archivos de un usuario o remotamente en un servidor RTMP. Los objetos compartidos, al igual que otros medios de Flash Player, se dividen en entornos limitados de seguridad. Sin embargo, el modelo de entorno limitado de los objetos compartidos es algo distinto, ya que los objetos compartidos no son recursos a los que se puede tener acceso más allá de los límites de los dominios. Por el contrario, los objetos compartidos siempre se recuperan de un almacén de objetos compartidos que es específico del dominio de cada archivo SWF que llama a los métodos de la clase SharedObject. Los almacenes de objetos compartidos suelen ser incluso más específicos que los dominios de los archivos SWF: de forma predeterminada, cada archivo SWF utiliza un almacén de objetos compartidos específico de su URL de origen completa. Para obtener más información sobre los objetos compartidos, consulte
Objetos compartidos
.
Un archivo SWF puede utilizar el parámetro
localPath
de los métodos
SharedObject.getLocal()
y
SharedObject.getRemote()
para usar un almacén de objetos compartidos asociado solamente a una parte de su URL. De este modo, el archivo SWF puede permitir el uso compartido con otros archivos SWF de otros URL. Incluso si se pasa el valor
'/'
para el parámetro
localPath
, se sigue designando un almacén de objetos compartidos específico de su propio dominio.
Los usuarios pueden restringir el acceso a objetos compartidos utilizando el cuadro de diálogo Configuración de Flash Player o el Administrador de configuración. De forma predeterminada, pueden crearse objetos compartidos de un máximo de 100 KB de datos por dominio. Los usuarios con derechos administrativos y los usuarios pueden también limitar la capacidad de escribir en el sistema de archivos. Para obtener más información, consulte
Controles de administrador
y
Controles de usuario
.
Para especificar que un objeto compartido sea seguro, se debe establecer el valor
true
para el parámetro
secure
del método
SharedObject.getLocal()
o del método
SharedObject.getRemote()
. Tenga en cuenta las siguientes cuestiones relativas al parámetro
secure
:
-
Si el valor de este parámetro es
true
, Flash Player crea un nuevo objeto compartido seguro u obtiene una referencia a un objeto compartido seguro existente. Solo pueden leer o escribir en este objeto compartido seguro archivos SWF enviados a través de HTTPS que llamen a
SharedObject.getLocal()
con el parámetro
secure
definido como
true
.
-
Si el parámetro se establece en
false
, Flash Player crea un nuevo objeto compartido o bien obtiene una referencia a un objeto compartido existente que pueda leerse y escribirse con archivos SWF enviados mediante conexiones que no son HTTPS.
Si el archivo SWF que realiza la llamada no procede de un URL HTTPS, al especificar el valor
true
para el parámetro
secure
del método
SharedObject.getLocal()
o del método
SharedObject.getRemote()
, se emitirá una excepción SecurityError.
La elección de un almacén de objetos compartidos se basa en el URL de origen de un archivo SWF. Esto es cierto incluso en las dos situaciones en las que un archivo SWF no se origina en un simple URL: carga de importación y carga dinámica. La carga de importación hace referencia a la situación en la que se carga un archivo SWF con la propiedad
LoaderContext.securityDomain
establecida en
SecurityDomain.currentDomain
. En esta situación, el archivo SWF cargado tendrá un pseudoURL que empieza por el dominio del archivo SWF de carga, seguido del URL de origen real. La carga dinámica se refiere a la carga de un archivo SWF a través del método
Loader.loadBytes()
. En esta situación, el archivo SWF cargado tendrá un pseudoURL que empieza por el URL completo del archivo SWF que realiza la carga, seguido de un ID de entero. Tanto en la carga de importación como en la carga dinámica, el pseudoURL de un archivo SWF puede examinarse con la propiedad
LoaderInfo.url.
El pseudoURL se trata del mismo modo que un URL real, en lo que se refiere a la elección de un almacén de objetos compartidos. Se puede especificar un parámetro
localPath
de objeto compartido que utilice el pseudoURL parcialmente o en su totalidad.
Los usuarios y los administradores pueden optar por desactivar la utilización de
objetos compartidos de terceros
. Es la utilización de objetos compartidos por parte de cualquier archivo SWF que esté ejecutándose en un navegador web, cuando el URL de origen de dicho archivo SWF procede de un dominio distinto al del URL que se muestra en la barra de direcciones del navegador. Los usuarios y administradores pueden optar por desactivar la utilización de objetos compartidos de terceros por motivos de privacidad, con el fin de evitar el seguimiento entre dominios. Para evitar esta restricción, quizá desee asegurarse de que cualquier archivo SWF que utilice objetos compartidos solo se cargue en las estructuras de página HTML que garantizan que el archivo SWF procede del mismo dominio que se muestra en la barra de direcciones del navegador. Cuando se intentan utilizar objetos compartidos desde un archivo SWF de terceros y la utilización de objetos compartidos de terceros está desactivada, los métodos
SharedObject.getLocal()
y
SharedObject.getRemote()
devuelven
null
. Para obtener más información, consulte
www.adobe.com/es/products/flashplayer/articles/thirdpartylso
.