IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

HTTPService sur le même domaine!


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 21
    Par défaut HTTPService sur le même domaine!
    Bonsoir,

    Je galère allégrement sur un problème de déploiement.
    J'utilise un HTTPService pour lancer un script php qui inscrit des données simple SQL.

    En local évidemment ca marche, mais quand je le déploie sur mon serveur (000WebHost) j'ai en permanence cette erreur:
    RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error".....

    Alors j'ai vu des centaines de posts qui disent tous la même chose : "mettre un fichier crossdomain.xml dans votre dossier root". Oui, très bien si vous insistez, mais le fichier php en question se trouve dans le même dossier que mon swf !!

    J'ai tout de même ajouté ce fichier crossdomain, qui a eu pour effet d'accélérer notablement le chargement de mon site (?), mais qui n'a pas résolu mon problème.

    Le policyfiles.txt me raconte ca :
    OK: Chargement du fichier SWF au niveau racine : http://t..../uploads/TP/TP.swf
    Avertissement :Le domaine t... ne spécifie pas de méta-régulation. Application de la méta-régulation 'master-only' par défaut.
    OK: Fichier de régulation accepté : http://t...../crossdomain.xml
    Avertissement :Impossible de charger un fichier de régulation à partir de http://err.000webhost.com/crossdomain.xml

    Mon code flex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <mx:HTTPService id="addUser" url="addUser.php" useProxy="false" method= "POST">
    <mx:request xmlns="">
    <cmsName>{cmsName}</cmsName>
    <cmsTP>{cmsTP}</cmsTP>
    </mx:request>
    </mx:HTTPService>
    j'ai également essayé le chemin absolu pour l'url, même problème, il me renvoie une erreur différente si je met un mauvais chemin.

    et aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function setup():void {
         Security.allowDomain("*");
         Security.loadPolicyFile("http://t.../crossdomain.xml");
         var request:URLRequest = new URLRequest("http://t.../crossdomain.xml");
         var loader:URLLoader = new URLLoader();
         loader.load(request);
    }
    qui est appelé dans ma fonction init() (creationComplete)

    Je ne pense pas qu'il y ai un pb avec le php puisqu'à priori il ne l'exécute pas (on verra ca plus tard...)

    Avez vous une idée?

    Cela devient très urgent je doit rendre ce projet bientôt maintenant et je galère depuis très longtemps la dessus.
    Merci pour votre aide!

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Est-ce que tu as lu avec attention ces informations :
    http://www.adobe.com/devnet/flashpla..._security.html

    Tu devrais y trouver l'explication de tes constatations et sans doute une solution.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 21
    Par défaut
    Merci pour ta réponse jylaxx,

    J'ai en effet regardé ce dont tu me parles, mais c'est relativement long et cela ne donne pas tellement d'explications sur les soucis.
    Par exemple dans mon policyfiles.txt, il me dit qu'il arrive à charger le crossdomain que je lui indique, mais il tente ensuite d'en télécharger un autre à partir de err.000Webhost... Et ca je ne sais pas pourquoi...

    Une idée ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 21
    Par défaut
    Bon, je crois avoir compris pourquoi il me chercher un crossdomain sur err.000webhost...

    Quand flash essaye d'executer la commande php du HTTPService, le serveur le redirige vers err.000webhost.com, il essaye donc d'obtenir le crossdomain policy de ce domaine, et je pense qu'il n'y en a pas tout simplement.

    Quoi qu'il en soit, mon script php marche bien puisque lorsque je l'execute directement à partir d'un page du site, la requete SQL fonctionne (ajout d'un utilisateur).
    Mais lorsque j'essaye d'accéder directement à mon script, je suis redirigé sur "403 Forbidden" sur err.000webhost.com, ce qui explique le comportement de flash...

    Cependant j'ai tout vérifié, j'ai mis les chmods à 777 partout, j'ai même essayé une option de l'hebergeur qui s'apelle hotlinks protection, qui permet de choisir une option "autoriser l'accès direct aux fichiers du site"... Mais malgrès toute cette permittivité, je suis toujours redirigé sur un 403.

    Cela ne vient pas à priori du code php puisqu'un simple <? echo "bouuuu" ?> me renvoie aussi sur 403...

    Help please !!!

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Quand flash essaye d'executer la commande php du HTTPService, le serveur le redirige vers err.000webhost.com, il essaye donc d'obtenir le crossdomain policy de ce domaine, et je pense qu'il n'y en a pas tout simplement.
    Il semble donc que tu ai l'explication...


    Ce que j'ai compris c'est que d'un côté ton swf est déployé sur un serveur dont l'url racine est t.... Tu as placé un crossdomain.xml à la racine de ce site ce qui te permets de charger ton swf.
    Ensuite tu tente d'exécuter un HTTPService sur un autre serveur. Donc Flash Player recherche le fichier de régulation du serveur (err.000webhost.com si j'ai bien compris) et ne le trouve pas donc les services sont inaccessibles depuis Flash Player. Ils peuvent par contre être accessibles depuis ton site t... qui lui n'applique pas ces règles de sécurité.

    Donc soit il est possible d'ajouter un fichier de régulation sur l'hébergeur du HTTPService, soit il faut utiliser un proxy...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 21
    Par défaut
    Ensuite tu tente d'exécuter un HTTPService sur un autre serveur
    Dans mon premier post :
    ...mais le fichier php en question se trouve dans le même dossier que mon swf !!
    Mon HTTPsercive appelle un .php dans le même dossier.

    Le problème vient du fait que mon hebergeur redirige vers une page "403 forbidden" lorsque je tente d'accéder à ce fichier...
    Ce qui provoque le problème de sécurité.

    J'ai bien conscience que mon problème n'est donc plus en rapport avec Flex, mais si vous avez des idées...

    Comment rendre ce fichier accessible ??

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plusieurs versions de SharePoint sur le même domaine.
    Par thehope dans le forum Installation
    Réponses: 3
    Dernier message: 27/04/2011, 13h55
  2. 2 virtualhost sur le même domaine
    Par mnem0 dans le forum Apache
    Réponses: 1
    Dernier message: 30/08/2009, 17h36
  3. Intégrer utilisateur sur un même domaine
    Par mousyas dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 10/03/2009, 14h43
  4. [MySQL] Comment accéder avec php à une base de données ne se trouvant pas sur le même domaine
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 25/02/2008, 18h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo