Journal du Net > Développeurs > Contributions > Votre astuce Ajax / JavaScript ?

APPEL
A CONTRIBUTION

Vous manipulez le langage JavaScript au quotidien pour concevoir des pages Web ? Vous avez certainement une astuce à partager ! Cet espace est pour vous.

Participez

 Sécurité des requêtes Ajax  

Sébastien Brémond , Seynod (haute-Savoie)

Sécurité des requêtes Ajax
Sébastien Brémond

Quel est en 3 lignes l'objectif de votre astuce ?

Sécuriser ses requêtes en Ajax afin de préserver l'intégrité du modèle (forme / contenu) et de contrer le vol et l'infiltration de ses données.

Décrivez votre astuce en détail. N'hésitez-pas à inclure des portions de codes.

Dans un premier temps utiliser les sessions serveur en fonction de la plate-forme (PHP / JAVA / ...).

La page servie qui s'affiche au client doit coté serveur générer un clef (alphanumérique par ex. de 10 à 20 caractères)
Affecter cette clef à une variable de l'espace de session:
$_SESSION['Env_UserSession']['AjaxKey'] = $la_clef_alphanum

Phase 2.
Coté client, la clef devra être disponible via javascript. Elle pourra être une valeur d'un champ caché par exemple. (Le script serveur devra l'écrire dans le champ ou l'affecter à une variable javascript)

Phase 3
Lors de la requête Ajax, récupérer cette clef et la transmettre aux paramètres Ajax (aux arguments paires de la requête en réalité)

Phase 4
Lorsque la requête est lancée, le principe est de contrôler coté serveur l'existence de cette clef, et la vérifier avec celle stocké en session.
Celle-ci doit être contrôler avant de servir (générer) le contenu Ajax au client.

Pour aller encore plus loin, je propose de générer un champ input de type hidden (en Phase 2)
Ce champs aura pour nom (attribut name) le hachage en md5 de la clef. La valeur de champs pourra être ce que vous désirer !

Lors du contrôle coté serveur (Phase 4) contrôler bien l'existence POST ou GET d'un argument dont la variable correspond au md5 de la clef stockée en session. (S’assurer bien sûr qu'elle existe sinon c'est qu'elle est vide, donc une tentative de contournement ou de vol en est la cause...)

Si c'est le cas et qu'elles sont identiques, vous pouvez à ce moment livrer votre contenu ou le générer.

Votre requête est donc à présent sécurisée. Je vous laisse le soin d'étudier les échanges serveur / client afin d'optimiser cette astuce ;)


Publié le 07 février 2008

  Les dernières contributions  
"Cocher/décocher avec JQuery" Fabien Branchut, La Rochelle

"Une fenêtre qui s'ouvre dans une div." Alexandre Saban

"Cocher / Tout décocher dans un formulaire"" Vincent Bouix, Marseille

"Requête Ajax la plus simple du monde !" Fabien Branchut, La Rochelle

"Prototype !" Jessemach 


  En ce moment sur Journal du Net Développeur  
11 contributions : 1 2 3 4 5 6 7 8 9 10 11
 




 

RECHERCHE