2011-04-15 4 views
3

J'utilise as3httpclientlib pour publier des données sur mon service Web, mais je suis continuellement en train d'obtenir la violation de sécurité suivante. Est-ce que quelqu'un sait comment résoudre cela? Mon fichier crossdomain.xml est en dessous de l'avis de violation de sécurité.Violation de Sandbox de sécurité: Manque d'autorisations de fichier de stratégie

REMARQUE: J'utilise apache aux demandes proxy au service web, donc l'URL cible/port et l'URL/port au service de l'applet sont les mêmes - à savoir http://192.168.100.101. En outre, le fichier crossdomain.xml se trouve à la racine du Web app qui sert l'applet plutôt le web service; Cependant, étant donné que les demandes des proxies l'URL du fichier est http://192.168.100.101/crossdomain.xml

* Security Sandbox Violation * Connection to 192.168.100.101:80 halted - not permitted from http://192.168.100.101/com-web/flex/ComUi.swf Error: Request for resource at xmlsocket://192.168.100.101:80 by requestor from http://192.168.100.101/com-web/flex/ComUi.swf is denied due to lack of policy file permissions.

<?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-http-request-headers-from domain="*" headers="*" secure="false" /> 
<allow-access-from domain="*" to-ports="80, 8080" /> 
</cross-domain-policy> 

Merci.

Répondre

3

Avez-vous essayé de le déboguer avec WireShark, voir si l'application envoie la requête sur le port 843 et si le serveur renvoie la réponse via socket? Il n'était pas totalement clair dans votre message si vous utilisez déjà une application serveur pour servir le fichier de politique, sinon, vous devriez, soit le chemin, le lien ci-dessous devrait aider.

Si vous avez besoin de plus d'informations sur la façon dont les choses fonctionnent, vous pouvez consulter this

+0

Cela est correct. as3httpclientlib utilise des sockets et cela nécessite une politique de socket. –

+0

@mindnoise: Non, je n'utilise pas actuellement une application/démon serveur pour servir le fichier de politique. J'ai compris que je pouvais spécifier les autorisations dans le fichier 'crossdomain.xml', puis utiliser' Security.loadPolicyFile (url) 'pour récupérer/appliquer les permissions. Ma compréhension est-elle incorrecte? Un fichier de règles "serveur" est-il obligatoire? – DanMark

+0

@James Ward: Pour plus de clarté, le fichier 'socket policy' est-il le même que le fichier' crossdomain.xml'? – DanMark

Questions connexes