|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2011 Messages : 14 ![]() |
Bonsoir à tous,
Je suis actuellement sur un projet web avec des pages relativement interactives, j'utilise donc javascript/ajax (avec jquery). Jusqu'ici tout fonctionne, mais un problème se pose à moi, les éléments de la page à mettre à jour dépendant du résultat de la requête ajax (traitée par un script php, mais peu importe), je me retrouve rapidement avec des tas de "spaghetti code" dans mon javascript pour traiter le résultat. Et ça, ceymal ![]() Bref, j'envisage plusieurs solutions: - développer une librairie js qui interprète un "pseudocode" renvoyé par le script php (réutilisable, mais développement plus long). - faire renvoyer du js par le script php et procéder à un eval. Quid de la sécurité? - employer une solution existante? Voila, si quelqu'un à des experiences/suggestion/réponses sur le sujet je suis preneur
|
|
|
00
|
|
|
#2 | |||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 872 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2011 Messages : 14 ![]() |
Mais c'est fou ça!
Bon à priori ça correspond à un eval et n'est qu'un raccourci syntaxique, donc la question reste posée niveau sécurité, c'est safe d'utiliser cette fonction en mode fête du slip ou il y a des précautions à prendre/déconseillé? (hormis ne pas evaluer directement des input utilisateur j'entend )
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Non, ça ne correspond pas à un eval(), au contraire, getScript() crée une nouvelle balise script avec comme src l'URL demandée.
__________________
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 JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 872 ![]() |
Citation:
dans le cas de l'appel ajax, ceci aura pour effet de ( ) de ne pas être cross-domain. aussi, il faut savoir que comme pour l'eval il faut savoir qu'attacher un script ne garde pas forcément le contexte actuel. exemple tout simple, les scripts greasemonkey (ou extensions.JS sous chrome) utilisent un objet "window" différent de celui de la page. (sous greasemonkey, on peut accèder à celui de la page via "unsafeWindow" ) mais contiennent par contre l'objet "document" réel de la page. Ainsi si tu attaches un script au "body" depuis l'une de ces extensions, ton script utilisera un objet "window" différent de celui de ton extension et donc des variables et contexte différent. @ZeroDivide: pour la sécurité, effectivement si ton code est généré en fonction d'une base de donnée générée par les visiteurs, tu auras des risques que ce soit avec eval ou l'ajout d'un script au header. mais de toute manière même pour les requêtes ajax, tu ne reçois qu'un string qui sera converti en objet coté client .. soit avec json.parse pour la plupart des navigateurs mais ceux qui ne possède pas cette méthode utiliseront un simple "eval" pour reconstruire l'objet json. |
|
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : octobre 2011 Messages : 14 ![]() |
Ok, merci pour ces précisions, je devrais pouvoir m'en tirer
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com