2010-08-04 3 views
2

J'ai un problème étrange avec les variables de session. Je stocke des informations d'identification dans des variables de session comme ceci:Problème avec les sessions dans ASP .NET

Session["login"] = "foo"; 
Session["password"] = "oof"; 

La page est déployée sur un certain serveur. Après que je me suis connecté sur la page, j'ai remarqué que d'autres utilisateurs (qui sont dans la même zone de réseau) appelant la page étaient également connectés! Je pensais que ces données seraient stockées uniquement pour moi (je suppose que le serveur m'envoie des cookies pour s'en assurer) mais ce n'est pas le cas?

J'ai certainement un manque de connaissance quelque part. Que se passe-t-il?

Merci

+6

Tout ce qui est * votre session * certainement ne devrait pas être visible pour les autres si je regarde en dehors de cela pour un problème. Si nécessaire, écrivez des pages Web simples qui stockent une valeur de session propre à un utilisateur (par exemple, une adresse IP en supposant que vous ne goignez pas via un proxy) et une autre qui l'affiche. Cela devrait vous permettre de prouver si la session est partagée ou non. Je pense qu'il est plus probable que votre code fasse quelque chose de mal quelque part ailleurs (par exemple, stocker quelque chose dans l'état de l'application ou sur une variable statique quelque part). – Chris

+0

Oui, je pense aussi. J'étudie la question. Merci. –

+1

Trouvé. L'origine de ce problème était une variable globale dans le code derrière: / –

Répondre

1

Je ne recommanderais pas le stockage d'un mot de passe dans une variable de session à des fins de sécurité. Si vous devez utiliser une variable de session, ne stockez pas le mot de passe en texte clair. Utilisez une méthode de cryptage à la place.