Eh bien, pas toujours. En utilisant des cookies, vous êtes bon. Mais le "Puis-je compter en toute sécurité sur la présence de l'identité ?" e voudrais prolonger la discussion avec un point important (surtout pour référence, car le nombre de visiteurs de cette page semble assez élevé).
PHP peut être configuré pour maintenir les sessions par réécriture d'URL, au lieu des cookies. ( Comment c'est bon ou mauvais (<-- voir par exemple le commentaire le plus élevé ici) est une question distincte Si l'ID de session n'est pas visible, le problème le plus important des sessions basées sur l'URL n'est pas un problème avec les appels Ajax internes ; mais si c'est activé pour Ajax, c'est aussi activé pour le reste du site, donc voilà).
Dans le cas de sessions avec réécriture d'URL (cookieless), les appels Ajax doivent s'en charger eux-mêmes. que les URL de leurs requêtes sont correctement rédigées. (Ou vous pouvez mettre en place votre propre solution personnalisée. Vous pouvez même recourir au maintien des sessions du côté client dans les cas moins exigeants). Le point est le soin explicite nécessaire pour la continuité de la session, si l'on n'utilise pas de cookies :
-
Si l'Ajax appelle juste extrait URLs verbatim de l'HTML (tel que reçu de PHP), cela devrait être OK, car ils sont déjà cuits (hum, cookified).
-
S'ils doivent assembler l'ID de session doit être ajouté manuellement à l'URL. (Vérifier aquí ou les sources des pages générées par PHP ( avec réécriture d'URL sur ) pour voir comment faire).
De OWASP.org :
En effet, l'application web peut utiliser les deux mécanismes, les cookies ou les paramètres d'URL, ou même passer de l'un à l'autre (réécriture automatique d'URL) si certaines conditions sont remplies. réécriture automatique de l'URL) si certaines conditions sont remplies (par exemple, l'existence de clients web ne supportant pas les cookies ou lorsque les cookies ne sont pas acceptés). de clients web ne supportant pas les cookies ou lorsque les cookies ne sont pas acceptés pour des raisons de confidentialité).
D'un Forum Ruby poste :
Lorsque vous utilisez php avec des cookies, l'ID de session sera automatiquement envoyé dans les en-têtes de la requête, même pour les requêtes Ajax XMLHttpRequests. Si vous utilisez ou autorisez les sessions php basées sur les URL, vous devrez ajouter l'id de session à chaque url de requête Ajax.