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

Autres langages pour le Web Discussion :

[XUL/JS]Problème de sécurité sur le chargement d'un doc XML


Sujet :

Autres langages pour le Web

  1. #1
    Membre régulier Avatar de Mr Pink Eyes
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 119
    Points
    119
    Par défaut [XUL/JS]Problème de sécurité sur le chargement d'un doc XML
    Bonjour,

    Je développe une extension pour FireFox3 et tente de loader un fichier XML.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try{
    			this.xmldoc = document.implementation.createDocument("","",null);
    			alert(this.file.path);
    			this.xmldoc.load(this.file.path);
    			alert(this.file.path);
    		}
    		catch(e) { alert(e.message); }
    Malheureusement j'ai le droit à un superbe :

    Citation Envoyé par ExecuteJS
    [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "chrome://executejs/content/executejs/executeJS.js Line: 262"]
    Et je sais pas trop comment le résoudre.

  2. #2
    Membre régulier Avatar de Mr Pink Eyes
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 119
    Points
    119
    Par défaut
    Bon j'ai résolu le problème de sécurité. FireFox 3 ne supporte plus la méthode load() sur un XMLDocument. Il faut donc utiliser un XMLHttpRequest :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var xhr_object = null;  
    		xhr_object = new XMLHttpRequest(); 
    		 
    		xhr_object.open("GET", "file://"+this.file.path, false); 
    		xhr_object.send(null); 
    		this.xmldoc=xhr_object.responseXML;
    Malgré ça lorsque je fais mon import, le parser (qui doit être appelé derrière) me jette car il n'aime pas le contenu de mes section CDATA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <parsererror xmlns="http://www.mozilla.org/newlayout/xml/parsererror.xml">Erreur d'analyse XML*: mal formé
    Emplacement*: file:///C:/Documents%20and%20Settings/Bruno/Mes%20documents/PishBar/labelsDB.xml
    Numéro de ligne 1, Colonne 99*:<sourcetext>&lt;labelManager&gt;&lt;key xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;&lt;![CDATA[ý_ý6fsýý]ýBcaýj)ýýýCýýýN~;
    --------------------------------------------------------------------------------------------------^</sourcetext></parsererror>
    J'ai déjà eu cette erreur lorsque je créais ma structure XML en tant que String avant de la passer au parser pour en faire un XMLDocument. La seule solution que j'ai trouvé est de créer directement le XMLDocument. DOnc bah je suis un peu bloqué tant que le DOMParser ne comprend pas qu'il ne faut pas traiter le contenu des CDATA.

    Quelqu'un aurait une piste de solution ?

  3. #3
    Membre régulier Avatar de Mr Pink Eyes
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 119
    Points
    119
    Par défaut
    Bon ça y est tout marche, j'ai juste été obligé de recrypter mes données sur une base64 car sinon j'avais des caractères interdits par la norme XML. Voilou!

    J'vais pas dire merci pour votre aide du coup mais si ça peut aider quelqu'un...

  4. #4
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Donc ça vient du load ou des caractères cabalistiques dont tu t'affranchis en encodant en base64 ?
    Cordialement,
    Christophe Charron

  5. #5
    Membre régulier Avatar de Mr Pink Eyes
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 119
    Points
    119
    Par défaut
    Des deux en fait. La méthode XMLDocument.load() ne fonctionne plus sous Firefox 3, donc il faut utiliser le XMLHttpRequest. Mais les caractères que j'utilisais (et qui étaient générés par un Triple DES) n'étaient pas non plus supportés par les document XML en général, il a donc fallu repasser le tout en base 64.

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

Discussions similaires

  1. Problème de sécurité sur une base Access
    Par Gretch_34 dans le forum Sécurité
    Réponses: 1
    Dernier message: 24/07/2009, 18h41
  2. problème de sécurité sur mon site
    Par tabarez7 dans le forum Sécurité
    Réponses: 2
    Dernier message: 22/09/2008, 14h56
  3. Problème de sécurité sur MySQL
    Par best78280 dans le forum Installation
    Réponses: 2
    Dernier message: 31/07/2008, 19h17
  4. Problème de sécurité sur assemblage
    Par therock dans le forum Framework .NET
    Réponses: 5
    Dernier message: 22/05/2007, 16h23

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