2010-09-02 4 views
2

J'ai une application flash hébergé à www.example.com qui tente de tirer des actifs de mon seau Amazon S3 à http://s3.example.comflash ne pas trouver crossdomain.xml (Amazon S3)

Je dispose d'un fichier crossdomain.xml c'est lisible par tout le monde au niveau de la racine du seau. s3.example.com/crossdomain.xml~~V~~3rd

Le contenu de ce fichier crossdomain.xml sont les suivantes:

<?xml version="1.0" encoding="utf-8" ?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <allow-access-from domain="*.example.com" /> 
    <allow-http-request-headers-from domain="*.example.com" headers="*" />       
</cross-domain-policy>  

Quand je lance mon application de www.example.com il ne chargera pas les ressources mon seau s3. Après une requête reniflée via wireshark et httpfox, il semble que l'application flash ne demande pas le fichier s3.example.com/crossdomain.xml à tout moment.

Des idées pour lesquelles il est préférable de sauter ce fichier? Je ne devrais pas avoir besoin de forcer à regarder là juste en utilisant ceci: Security.loadPolicyFile ("http://s3.example.com/crossdomain.xml"); ??

Merci, Brian

+0

Mise à jour: Information importante: Nous utilisons ActionScript 2 et FLash 8 – bonez

+0

fonctionne-t-il sur les anciens FP comme 8 et 9? – Eugene

Répondre

1

Quel est votre code AS2, et quel type de contenu essayez-vous de charger? Si possible, quelle est l'URL que vous essayez de charger?

Vous devrez peut-être forcer le chargement du domaine croisé, par exemple en définissant NetStream.checkPolicyFile (AS2, AS3) sur true si vous essayez de charger une vidéo. Une autre erreur que vous pouvez rencontrer est lorsque le serveur cible vous redirige vers une autre URL (via redirection 301) - assez commun avec les images de certains services équilibrés (disons, Facebook). Quand cela arrive, Flash ne vérifie pas le fichier de politique après la redirection - dans ce cas, oui, vous devez faire un loadPolicyFile() vous-même. Cependant, vous n'avez besoin de le faire qu'une seule fois, de préférence lors de l'initialisation de votre application (il ne fait que mettre en file d'attente le chargement inter-domaines, ce qui permet à Flash de charger ce fichier chaque fois que nécessaire).

1

vous sujet

http://www.actionscript.org/forums/showthread.php3?t=170572

et ce

http://www.actionscript.org/forums/showthread.php3?t=190239

essayer de le compiler pour le nouveau FP 10.x

et ce http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html

==================== MISE À JOUR ====================== =======

permet simplement tester

<?xml version="1.0" encoding="utf-8" ?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <allow-access-from domain="*.*" /> 
    <allow-http-request-headers-from domain="*.*" headers="*" />       
</cross-domain-policy> 

copie crossdomain.xml à la racine example.com aussi, je veux dire htdocs et s3 gauche aussi. Dites-moi les versions de chaque plate-forme/langue que vous utilisez.

et d'essayer d'inclure votre dernière ligne de code aussi. Faites-nous savoir.

+1

Pourriez-vous résumer les réponses que vous trouvez dans ces liens? De cette façon, les personnes cherchant cette question n'auront pas à passer par une recherche de lien pour trouver la réponse. – rossisdead

+0

s'il vous plaît nous mettre à jour avec la solution que vous avez? Quelle réponse était la plus utile? – Eugene

+0

Ok les gars, mise à jour j'ai finalement pu essayer quelques choses différentes. J'ai dû FORCE pour trouver le fichier crossdomain en utilisant loadPolicyFile. Et en utilisant le débogueur flash déterminé, il trouve maintenant le fichier de politique crossdomain et l'accepte .. mais toujours en autorisant maintenant les demandes de post à travers le domaine. Un autre problème pour un autre sujet. Merci – bonez