Nous allons maintenant voir une petite astuce toute bête permettant de "contourner" cette protection. J'écris "contourner" entre guillemets, car cette protection n'est pas là pour embêter le créateur d'une animation, ou l'utilisateur lambda. Elle permet seulement aux webmasters qui le souhaitent de protéger leur site Web d'un téléchargement abusif s'effectuant à partir des clients exécutant l'animation.
Alors qu'avec notre astuce, l'animation téléchargera les données en passant par un script sur
votre serveur. Ça ne sera donc pas à votre avantage de faire télécharger des données d'un site web de façon abusive, puisque ça encombrera le vôtre !
Vous allez déjà placer un
crossdomain.xml à la racine de votre site pour éviter les ennuis.
Ensuite, vous allez créer un fichier
chargement.php :
Code : PHP1
2
3 | <?PHP
readfile($_GET['lien']);
?>
|
Ainsi, si vous devez charger un fichier dans votre animation, et que ce fichier est placé sur un autre site Web sans
crossdomain.xml, vous pourrez passer par votre fichier
chargement.php.
Par exemple, si vous voulez charger dans votre animation la liste des news du SDZ à cette adresse
http://www.siteduzero.com/Templates/xml/news_fr.xml, comme
www.siteduzero.com ne possède pas de
crossdomain.xml, vous aller charger cette page :
chargement.php?lien=http://www.siteduzero.com/Templates/xml/news_fr.xml
En fait, il est même préférable "d'encoder" le lien avec la fonction
escape() de Flash que nous avons déjà vu dans un chapitre précédent.
Une fois encodée au format URL, votre animation chargerait en fait :
chargement.php?lien=http%3A%2F%2Fwww%2Esiteduzero%2Ecom%2FTemplates%2Fxml%2Fnews%5Ffr%2Exml
Mais il faudrait alors décoder le lien dans le script PHP :
Code : PHP1
2
3
4 | <?PHP
$lien = urldecode($_GET['lien']);
readfile($lien);
?>
|
Bon. Pour l'instant, vous ne savez pas encore comment charger ce fichier dans Flash, mais vous connaissez au moins la théorie.
