10 de noviembre de 2007

Actionscript: Cómo configurar un servidor para que cualquier SWF pueda leer XML almacenado en él

Os cuento en primer lugar el problema. Flash compila los SWF de tal manera que no pueden acceder por defecto a ficheros XML alojados en otro servidor.

¿Qué sucede entonces? Pues que si por ejemplo creáis un juego como Moon Star Hunter con tabla de records y alojáis el juego en el servidor A no podréis acceder al fichero XML del servidor B que es el que os da la información de la tabla de records.

¿Cómo solucionar esto? Pues a lo bruto, tenéis que crear un fichero llamado crossdomain.xml con el siguiente contenido:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>


A continuación subes ese fichero a la ruta de vuestro servidor y ya está :) De esta manera podrán acceder a este fichero desde cualquier otro dominio.

¿Qué queréis que sólo se pueda acceder desde un determinado dominio? Pues en vez cambiáis el asterisco por el dominio permitido (p.ej. www.videojuegosparachicas.com).

¿Qué queréis que se acceda desde dos dominios distintos? Pues en vez de una línea con el tag allow-access-from creáis dos y en cada una ponéis un dominio. Y así con 3 dominios, con 4 y con los que haga falta.

Espero que a alguien (además de a mí) le sirva de utilidad.

4 comentarios:

Anónimo dijo...

¿es posible almacenar el tal crossdomain en los servicios de wordpress.com?

Gabriel Cuesta dijo...

No creo, tendrías que poder subir ese fichero a la ruta del servidor wordpress.com y no creo que lo permitan.

mama21mama dijo...

Muy bien lo solucione, pero...ahora me dice que el que no esta es este.

en/plug_en.xml

no esta.

:S

Saludos

Gabriel Cuesta dijo...

Prueba a buscar tu XML con la url, o sea http://www.servidorejemplo.com/en/plug_en.xml

Un saludo,