2012-07-25 4 views
1

Je crée mon propre système d'authentification (en utilisant Java). Lorsque l'utilisateur est authentifié et que l'objet utilisateur est chargé depuis le magasin de données, il est sûr de stocker cet objet utilisateur dans la session et de supposer que l'utilisateur a un objet utilisateur en session, il s'agit d'un objet utilisateur réel et valide. Y a-t-il des problèmes de sécurité possibles que je ne vois pas ici?Sécurité de stockage de l'objet utilisateur dans la session

Répondre

1

En principe oui.

Vous seul avez le plein contrôle des variables de session (le client n'a ni accès en lecture ni en écriture à ces variables). Si le mécanisme d'authentification est contourné, ce n'est pas parce que l'utilisateur a défini sa propre variable de session (comme il pourrait par exemple définir le contenu des cookies). Cela étant dit, il ya bien sûr des moyens hack pages web (lire OWASP top 10, y compris CSRF, XSS et ainsi de suite).

2

Détournement de session? Injection SQL possible ou XSS sur votre page de connexion? Un homme au milieu de l'attaque?

Seulement quelques éléments à prendre en compte lors de la conception d'un système de connexion sécurisé.

0

Personnellement, j'ai tendance à le faire sur toutes mes applications Web mais je supprime ou crypte les données sensibles dans l'objet utilisateur avant de les stocker dans la session, par exemple. Mot de passe

alternative consiste à remplir et utiliser une version allégée de l'objet utilisateur qui contiendra uniquement les données que vous voulez dans la session (par exemple identifiant utilisateur, prénom. nom)

0

Ajouter à tous les autres postes I pense qu'il y a un problème de sécurité de plus. Vous validez l'utilisateur contre database uniquement au moment de la connexion de l'utilisateur, puis vous définissez l'utilisateur dans session disons quand l'utilisateur est connecté et session est actif entre l'accès est révoqué dans ce cas l'utilisateur aura accès jusqu'à sa vie de session qui est inacceptable.