J'entends dire que certaines personnes croient que stocker des informations sur le serveur dans une session est une mauvaise idée, que ce n'est pas sécurisé. Par conséquent, dans une fonction de processus métier de plusieurs pages, l'application écrit des données dans une base de données, puis récupère l'information lorsque cela est nécessaire. Y a-t-il quelque chose de nécessairement dangereux sur le stockage des informations privées dans une session?Variables de session Java
Répondre
Il n'y a pas de risque de sécurité lors du stockage des attributs dans une session, tant que la session elle-même est sûre de hijacking.
Il existe de sérieux problèmes impliquant la simultanéité et les sessions. Comme il est extrêmement courant que plusieurs threads effectuent des requêtes simultanément pour une seule session, vous devez vous assurer que les objets que vous stockez dans une session sont sûrs pour les threads. Soit les rendre immuables, soit les rendre sécurisés avec des barrières de mémoire comme la synchronisation. Je recommande fortement un article on the subject by Brian Goetz.
Les sessions HTTP elles-mêmes ne sont pas intrinsèquement dangereuses. Cependant, en fonction de votre serveur/conteneur d'application, le mécanisme de transmission des cookies de session au navigateur (et l'absence de sécurité de couche de transport - SSL) peut permettre à des tiers malveillants d'effectuer diverses attaques (script intersite, détournement de session , etc.). Je passerais du temps à rechercher ces choses avec l'injection SQL pour comprendre les ramifications complètes de l'utilisation des sessions HTTP. Si votre application s'exécute dans un pare-feu, il existe souvent des risques de sécurité beaucoup plus importants que celui-ci, comme l'ingénierie sociale.
En plus des problèmes de performance et de simultanéité, vous devriez également penser à la facilité d'utilisation. Est-ce que plusieurs pages ouvertes, le bouton de retour, les signets, les liens vers votre site, etc., fonctionnent? J'ai fini par réserver un vol le mauvais jour sur aerlingus.ie
et presque réserver le mauvais hôtel sur lastminute.com
en raison de leurs sites Web lugubres.
Le lien d'article est cassé :-( – avgvstvs
@avgvstvs Merci pour le heads up J'ai tweeté Brian Goetz pour voir s'il a une copie postée ailleurs. – erickson