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

JavaScript Discussion :

JSON fonction decode echapper " [ {


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 25
    Par défaut JSON fonction decode echapper " [ {
    Bonjour,

    Voila, j'ai créé un fonction json_decode(jsonstring) dans le langage de progra créé par ma boite(proche du java). Et je galere un peu pour échapper les éléments suivants : " , : [ { ] } qui serait dans une valeur.

    Par ex le json suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"curl":"https://graph.facebook.com/fql?q={"all+friends":"SELECT+uid2+FROM+friend+WHERE+uid1=me()+LIMIT+10","my+name":"SELECT+name+FROM+user+WHERE+uid=me()"}&access_token=AAAEIbuxSbCcBAFr1x9mm001GAGECQR5z5OJejjN2exQUwQG79l4ZAgl2jFnQd29lCiqPgJRJyXhG5TpuPN9p5NfPt2vGAVrfBYyeln"}
    (l'url ne fonctionnera pas au cas ou..)
    Donc on peux voir ici dans le champs "value", il faudrai échapper les éléments : ", { } :

    Une idée ?

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    1) Quel champ value ?

    2) Ou se déroule l'échappement dont tu parles ? en JS ou dans ton langage pseudo-java ?

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    A priori, ce sont juste les mauvaises imbrication de quote qui posent problème...

    Mais sinon, tu envoies vraiment une requête SQL via JavaScript ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    C'est exactement ce que je me suis dit à la lecture du code !!!
    Voir des requetes en clair dans du js ... c'est juste ... suicidaire ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 25
    Par défaut
    ben non. En gros, j'ai repris le SDK de facebook(qui permet de faire des requêtes vers facebook) et j'ai créé un fonction qui va gerer les multi query. elle crée l'url avec les query placé en parametre. donc une url de type :


    https://graph.facebook.com/fql?q={"all+friends":"SELECT+uid2+FROM+friend+WHERE+uid1=me()+LIMIT+10","my+name":"SELECT+name+FROM+user+WHERE+uid=me()"}&access_token=AAAEIbuxSbCcBAFr1x9mm001GAGECQR5z5OJejjN2exQUwQG79l4ZAgl2jFnQd29lCiqPgJRJyXhG5TpuPN9p5NfPt2vGAVrfBYyeln

    Ensuite, je balance le lien vers une autre méthode qui s'occupe de lancer le stream vers facebook, et facebook me renvoie la réponse sous le format JSON.

    Pour des raisons administratif/codage/pratique, j'ai décider de rajouter au bout du JSON que je récupère l'url qui a servi a obtenir cette réponse.

    et donc, c'est ce qui fait que dans mon JSON, je vais avoir l'url qui possède des { , : }

    Et le champs value, c'est l'url.(le champs key serait "curl"(ce qui est logique non ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 25
    Par défaut
    et il n'y a pas de mauvais imbrication de quote, c'est juste qu'il ya des quotes qui se retrouve dans les key/valeurs et qui sont interpreté par mon code comme si c'était des séparateur...

  7. #7
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    ma réponse va p-ê sembler stupide mais ... et l'antislash ?

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 25
    Par défaut
    C'est bon, avant de coller l'URL dans mon JSON, je le passe dans une fonction escape() qui remplace les éléments bizarre par des %25 ....

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    ben non. En gros, j'ai repris le SDK de facebook(qui permet de faire des requêtes vers facebook)
    Ha oui donc si facebook est codé comme une passoire c'est une raison valable d'en faire autant
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 25
    Par défaut
    ouè mais cette json n'est pas transférée en public. elle reste dans le serveur

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    ça reste une porte d'injection de mysql ...
    Que se passe-t-il si je choppe l'adresse de la page et que je lance une requete delete ou dump ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    C'est pas du SQL, c'est du FQL, le langage d'interrogation de l'API Facebook -_-°.
    J'ignore s'il y a un risque d'injection FQL (j'en doute,) mais s'il y en a un, il est pour la BDD Facebook et c'est Facebook qui l'impose.

    Et j'ajoute que cette requête est très certainement transmise au public, ce qui ne pose aucun problème vu qu'aucune donnée sensible ne s'y trouve (et que la réponse ne contient que des choses que les gens qui peuvent la regarder ont le droit de voir.)

    Concentrons-nous plutôt sur le vrai problème (je dois avouer que moi, j'ai toujours pas compris la question.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. JSON fonction decode echapper " [ {
    Par iamslyper dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 28/12/2011, 03h20
  2. [sql2005] cmdsql fonction DECODE
    Par delanfranchi dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/06/2006, 12h38
  3. Problème fonction decode()
    Par chti_juanito dans le forum Administration
    Réponses: 11
    Dernier message: 15/02/2006, 20h00
  4. Fonction decode
    Par nad dans le forum Oracle
    Réponses: 7
    Dernier message: 30/12/2005, 15h39

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