domingo, mayo 04, 2008

Bordeando la Seguridad en Flash - Leyendo XML

Por motivos de seguridad el flash solo permite leer archivos alojados en su propio dominio, así que si ud pretende leer desde un flash alojado en www.midominio.com, un feed en www.miotrodominio.com, ud no podrá contactarse con el servidor porque el flash no lo permite.

Ahora, una forma sencilla de pegarse de un servicio de feed, como uno que nos dé las noticias, es creando un archivo de servidor que lea el contenido de ese feed, y devuelva exactamente lo mismo, pero con la diferencia que estará en nuestro dominio.

Entonces que tienes que hacer?


Crear un PHP o un ASPX que por dentro lea el XML, y lo imprima sin mas,
y nosotros llamamos a nuestro .php/.aspx y cargamos el contenido


Aqui por ejemplo este PHP que tiene muy pocas lineas y es demasiado útil:


leerArchivo.php

if(isset($HTTP_GET_VARS['ruta'])){
$filename = $ruta;
//header("Content-type: text/xml");
readfile ($filename);
}
?>

Dejo comentado la linea del header, porque lo que hace es ponerle al XML
una nueva tag de header que arruinaría el plan de leer el XML como ya lo planeamos,
sin embargo la dejo por si necesitan poner otro tipo de header a su XML o feed.

Al momento de llamarlo en nuestro dominio seria algo de este estilo:

http://www.midominio.com/leerArchivo.php?ruta=www.miotrodominio.com/feed.xml

esto devolvería el mismo contenido del XML que está en otro dominio, pero bajo el nuestro,
haciendo válida la seguridad del flash.

1 comentario:

Anónimo dijo...

gracias, me va bien descomentando el el header