Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/12/2011, 11h41   #1
Invité régulier
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 8
Points : 8
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 :
{"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 ?
iamslyper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 11h47   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 581
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 581
Points : 4 087
Points : 4 087
1) Quel champ value ?

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

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 11h52   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 13h05   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
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
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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 15h03   #5
Invité régulier
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 8
Points : 8
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 :


Citation:
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 ?
iamslyper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 15h05   #6
Invité régulier
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 8
Points : 8
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...
iamslyper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 18h13   #7
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 872
Points : 1 381
Points : 1 381
ma réponse va p-ê sembler stupide mais ... et l'antislash ?
Willpower est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 15h46   #8
Invité régulier
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 8
Points : 8
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 ....
iamslyper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 17h14   #9
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
Citation:
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
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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 12h00   #10
Invité régulier
 
Inscription : mars 2011
Messages : 23
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 23
Points : 8
Points : 8
ouè mais cette json n'est pas transférée en public. elle reste dans le serveur
iamslyper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 12h04   #11
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
ç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
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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 22h35   #12
Expert Confirmé Sénior
 
Inscription : septembre 2004
Messages : 5 092
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 092
Points : 7 019
Points : 7 019
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.)
thelvin est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h57.


 
 
 
 
Partenaires

Hébergement Web