Quelle est la différence entre request.getSession().getId()
et request.getRequestedSessionId()
? Est-ce que les deux retournent la même chose, c'est-à-dire Id de session?request.getSession(). GetId() vs request.getRequestedSessionId()
Merci
Quelle est la différence entre request.getSession().getId()
et request.getRequestedSessionId()
? Est-ce que les deux retournent la même chose, c'est-à-dire Id de session?request.getSession(). GetId() vs request.getRequestedSessionId()
Merci
request.getRequestedSessionId()
renverront l'identifiant de session spécifiée par le client (probablement dans un cookie). request.getSession().getId()
renverra l'identifiant de session du serveur (si une session n'existe pas, request.getSession()
le créera). La différence importante est que vous ne pouvez pas compter sur la valeur renvoyée par request.getRequestedSessionId()
, car elle peut ne pas être valide. De la documentation:
Renvoie l'ID de session spécifié par le client. Cela peut ne pas être identique à l'ID de la session valide en cours pour cette requête. Si le client n'a pas spécifié d'ID de session, cette méthode renvoie null.
Est-ce que tout serait possible en vérifiant s'ils correspondent ou non? – developerwjk
Il est difficile de dire tbh. Peut-être que si vous compiliez des métriques sur la façon dont ces valeurs se comportent normalement, vous pourriez détecter des anomalies dans ce comportement, qui pourraient potentiellement être des attaques sur votre application. Mais c'est un gros quoi-si. – pablochan
pourquoi l'ID de session du client peut ne pas être identique à l'ID de la session valide en cours pour cette demande? (En supposant que la session est toujours valide côté client) – srh