2010-12-05 6 views
1

Lorsque l'utilisateur est sur la page, vous pouvez utiliser session ou cookies pour vérifier qui est-il.Comment AJAX peut-il valider un utilisateur?

Mais lorsque AJAX est utilisé, par exemple, pour envoyer une réponse, l'envoi de la page n'a aucun contact avec l'utilisateur. Comment peut-il vérifier s'il s'agit d'un véritable utilisateur enregistré, ou juste envoyer un spambot par les en-têtes?

Quelle est la pratique courante pour la validation utilisateur AJAX?

Répondre

5

Les requêtes AJAX contiennent les mêmes cookies que les demandes régulières. En plus de cela, vous pouvez envoyer des arguments comme des identifiants de session avec la requête AJAX.

En fait, pour le serveur, cela ne fait absolument aucune différence si une requête est faite via un objet XmlHttpRequest ou non. La plupart des frameworks ajoutent cependant un en-tête X-Requested-With: XMLHttpRequest mais c'est complètement optionnel.

donc .. quelque moyen que ce que vous utilisez pour transmettre vos données de session, assurez-vous simplement il est également disponible dans le script appelé votre requête AJAX:

  • Si vous avez un identifiant de session passé par GET/POST, comprennent dans les arguments de votre demande.
  • Si des cookies sont nécessaires, assurez-vous qu'ils sont envoyés au fichier. Si c'est dans le même dossier que le fichier actuel ou un descendant, vous êtes généralement en sécurité. Si c'est sur un autre (sous-) domaine, vous pourriez avoir des problèmes - non seulement avec les cookies mais aussi avec AJAX interdomaine qui n'est généralement pas autorisé en raison des navigateurs de politique d'origine identique.