Cuando tratamos de cargar imágenes o xmls de otros dominios, nos encontramos con el problema de que por seguridad no es posible hacerlo directamente. Si tenemos acceso al otro dominio, podemos usar el “crossdomain.xml”, pero si no, podemos recurrir a un proxy.
Para entenderlo mejor, aquí hay un tutorial muy explicativo.
La forma de saltarse el problema es cargar las cosas con un php intermedio que se encuentra en nuestro servidor (proxy), y que sencillamente nos devuelve lo que le hemos pedido en el formato que corresponde. Así, con este php en nuestro servidor (proxy.php):
<?php
$filename = $_GET['url'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
switch ($ext) {
case "jpg":
header('Content-Type: image/jpeg');
readfile($filename);
break;
case "gif":
header('Content-Type: image/gif');
readfile($filename);
break;
case "png":
header('Content-Type: image/png');
readfile($filename);
break;
default:
header('Content-Type: text/xml');
readfile($filename);
break;
}
?>
En lugar de llamar a:
http://www.otrodominio.com/imagen1.jpg
Lo haremos a:
http://www.midominio.com/proxy.php?url=http://www.otrodominio.com/imagen1.jpg
De esta manera nos saltaremos el problema del sandbox