2009-11-02 2 views
0

J'ai récemment déployé une application Flash sur un serveur et je rencontre maintenant des erreurs lors des requêtes HTTPService. J'ai mis ce que je crois être le crossdomain.xml le plus permissif possible dans le dossier de wwwroot, et obtenez toujours les erreurs. Il est intéressant de noter que l'erreur ne semble se produire que lorsque la demande est faite à partir d'une interaction directe de l'utilisateur (c'est-à-dire un clic sur un bouton). L'application effectue d'autres requêtes qui sont initiées par d'autres moyens (par exemple creationComplete), et elles semblent fonctionner comme prévu.Erreur de sécurité Flash Accès à l'URL avec crossdomain.xml

Quelqu'un voit-il quelque chose de mal avec le fichier crossdomain.xml, ou a-t-il d'autres suggestions?

MESSAGE D'ERREUR

[RPC défaut faultString = "Erreur de sécurité URL accédant à" faultCode = "Channel.Security.Error" faultDetail = "Destination: DefaultHTTP"] à mx.rpc :: AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler() à mx.rpc :: Responder/défaut() à mx.rpc :: AsyncRequest/défaut() à DirectHTTPMessageResponder/securityErrorHandler() à flash.events::EventDispatcher/dispatchEventFunction() à flash.events::EventDispatcher/ dispatchEvent() chez flash.net::URURLoader/redirectEvent()

<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
<site-control permitted-cross-domain-policies="all" /> 
<allow-access-from domain="*" secure="false" /> 
<allow-http-request-headers-from domain="*" headers="*" secure="false" /> 
</cross-domain-policy> 

Répondre

1

Vous devez faire attention aux fichiers de politique de domaine croisé car ils peuvent ouvrir de graves failles de sécurité. Vous ne devriez jamais utiliser une politique * sur un site qui utilise un cookie ou une authentification de base et vous ne devriez jamais mettre une politique * sur un serveur intranet. La manière la plus simple d'éviter ces problèmes de sécurité et de faire en sorte que les choses fonctionnent est de s'assurer que l'URL du fichier SWF est chargée et que l'URL vers laquelle les requêtes sont effectuées est le même protocole, nom d'hôte et port . Si elles sont différentes, vous devriez envisager d'utiliser un proxy afin qu'elles soient identiques. L'interdiction de BlazeDS ou d'Apache peut facilement être configurée comme proxy.

+0

Pouvez-vous expliquer pourquoi le resserrement du crossdomain.xml est si important? On dirait qu'il existe des moyens beaucoup plus faciles d'attaquer le serveur de quelqu'un en plus d'utiliser le flash pour le faire ... – Osman

+0

C'est pourquoi c'est important: http://tech.slashdot.org/story/09/11/05/1552204/Facebook-et-MySpace-Backdoors-Found-Fixed –

+0

Ahh ok parce que AJAX n'autorise pas les scripts inter-domaines – Osman

0

essayer ce fichier de configuration ouvert avec bloc-notes remplacer http: // nom_serveur /ArcGIS/rest/services/BaseMap/MapServer/# avec http: // SERVERIP// repos/ArcGIS services/BaseMap/MapServer/#

Questions connexes