chaine texte de code js

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : chaine texte de code js

par Cyrano » 06 mai 2008, 20:45

En retour AJAX, c'est effectivement peu probable : néanmoins la prudence est de rigueur : eval() est une fonction qui peut être dangereuse si on ne maîtrise pas très bien les données qui y sont envoyées.

par Arcanis » 06 mai 2008, 18:41

Je dit surement un truc bête, mais tu n'a pas un moyen de recevoir la réponse au format JSON? Je sais qu'il existe de nombreux scripts qui permettent d'utiliser des réponses de ce type sans avoir à utiliser la fonction eval()...
Si ça peut t'aider, j'ai aussi codé une implémentation de serialize et unserialize en javascript. Je ne l'ai pas testé à fond, mais bon, ça à l'air de marcher pour les tableaux...

et sinon, cyrano, comment est-ce qu'on peut injecter un code à exécuter? ce qu'il reçoit provient de son site, donc il a quand même un certain contrôle sur le contenu exécuté, surtout que son code est composé uniquement de nombre et de chiffres hexadécimaux

par Cyrano » 06 mai 2008, 18:08

L'idéal et à mon sens le plus simple serait encore de concevoir une expression régulière pour vérifier que la chaine reçue a bien la forme attendue : donc tu as des index en caractères alphabétiques avec des tirets, un signe "=>" et soit des chiffres soit les lettres d'un code hexadécimal de couleur. À partir de ça tu devrais pouvoir relativement facilement définir un masque auquel devra impérativement correspondre la chaîne.

par Invité » 06 mai 2008, 18:04

merci bp. que doit contenir le parsing précisément? a part window.location, ya til une liste exhaustive des éléments que je dois vérifier avant de passer une chaine à eval()?

par Cyrano » 06 mai 2008, 17:38

probablement avec eval() pour que cette chaine de texte soit interprétée pour ce qu'elle est en réalité à savoir un tableau. Mais attention avec eval(), si tu n'es pas sûr de la nature du contenu de cette chaine, ça peut être dangereux. Donc il serait souhaitable (pour ne pas dire très vivement recommandé) d'effectuer un parsing de la chaine pour en vérifier le contenu ou encore l'absence de fonctions du genre "window.location" qui détournerait par exemple les visiteurs de ton site vers un autre site.

chaine texte de code js

par Invité » 06 mai 2008, 17:28

bonjour,
j'utilise une librairie yahoo qui me renvoie le code suivant par http request:
Array ( [yui-picker-r] => 255 [yui-picker-g] => 255 [yui-picker-b] => 255 [yui-picker-h] => 0 [yui-picker-s] => 0 [yui-picker-v] => 100 [yui-picker-hex] => FFFFFF )
c'est un tableau associatif mais c'est aussi une chaine de texe, donc mon code ne peut pas l'interpréter directement.

Quel est le meilleur moyen pour récupérer un élément de ce tableau avec javascript?
Merci pour vos réponses.