Afin de protéger l`échange d`ID de session de l`écoute active et de la divulgation passive dans le trafic réseau, il est obligatoire d`utiliser une connexion HTTPS cryptée (SSL/TLS) pour toute la session Web, non seulement pour le processus d`authentification où l`utilisateur informations d`identification sont échangées. Donc, si vous faites référence à la session Google Analytics, vous devez expliquer la différence entre une session Web et une session Google Analytics à votre développeur. Les modules suivants implémentent un magasin de session qui est compatible avec ce module. Chaque réponse est un nouveau cookie avec les nouvelles données de session et un nouveau délai d`expiration de cookie, par défaut à une heure du problème. Les applications Web peuvent utiliser le code JavaScript une fois que l`utilisateur s`est connecté et une session a été établie pour forcer l`utilisateur à se réauthentifier si un nouvel onglet ou une fenêtre de navigateur Web est ouvert sur la même application Web. Il est recommandé d`utiliser ces cadres intégrés par rapport à la construction d`une maison faite à partir de zéro, car ils sont utilisés dans le monde entier sur plusieurs environnements Web et ont été testés par la sécurité des applications Web et les communautés de développement au fil du temps. Des vulnérabilités dans l`une des applications Web permettraient à un attaquant de définir l`ID de session pour une application Web différente sur le même domaine en utilisant un attribut «Domain» permissive (tel que «exemple. De cette façon, l`attribut “Domain” ne doit pas être défini (limitant le cookie uniquement au serveur d`origine) et l`attribut “path” doit être défini aussi restrictif que possible pour le chemin d`accès de l`application Web qui utilise l`ID de session. Indépendamment de la stratégie de cache définie par l`application Web, si le contenu de l`application Web de mise en cache est autorisé, les ID de session ne doivent jamais être mis en cache, il est donc vivement recommandé d`utiliser la directive “Cache-Control: no-cache =” Set-Cookie, Set-Cookie2 “”, pour permettre clients Web à tout cache à l`exception de l`ID de session. D`autre part, des capacités plus avancées peuvent être implémentées pour permettre au WAF de suivre les sessions, et les ID de session correspondants, et d`appliquer toutes sortes de protections contre la fixation de session (en renouvelant l`ID de session côté client lorsque le privilège modifications sont détectées), l`application des sessions collantes (en vérifiant la relation entre l`ID de session et d`autres propriétés du client, comme l`adresse IP ou l`agent utilisateur), ou la gestion de l`expiration de la session (en forçant le client et le Web à finaliser la session).

Si un ID de session avec une entropie de bits 64 est utilisé, il faudra un attaquant au moins 292 ans pour deviner avec succès un ID de session valide, en supposant que l`attaquant peut essayer 10 000 conjectures par seconde avec 100 000 sessions simultanées valides disponibles dans l`application Web [2]. Selon le mécanisme de gestion de session utilisé, l`ID de session sera reçu dans un paramètre GET ou POST, dans l`URL ou dans un en-tête HTTP (e. l`extension de la plupart des moteurs de session est assez simple, mais le faire avec des moteurs de session soutenus par la base de données nécessite généralement un effort supplémentaire (voir la section suivante pour plus de détails). La constante SID peut également être utilisée pour récupérer le nom actuel et l`ID de session en tant que chaîne appropriée pour l`ajout aux URL. L`utilisation de cookie-Parser peut entraîner des problèmes si le secret n`est pas le même entre ce module et cookie-parser. Si l`attribut n`est pas défini, le cookie ne sera envoyé par défaut qu`au serveur d`origine. Une fois que vous attendez assez longtemps que n`importe quel cookie de session valide aurait expiré, vous pouvez supprimer l`ancien secret de la configuration et redémarrez à nouveau.