7

Mon site permet à des utilisateurs anonymes. J'ai vu que sous une charge importante, les utilisateurs anonymes reçoivent parfois des valeurs de profil d'autres utilisateurs.Différents utilisateurs obtiennent le même cookie - valeur en .ASPXANONYMOUS

Je supprime d'abord mes cookies et j'obtiens une valeur unique valide dans la valeur du cookie .ASPXANONYMOUS. Après quelques requêtes, j'obtiens une nouvelle valeur pour .ASPXANONYMOUS qui est déjà utilisée par un autre utilisateur. Je vois dans mes loggs qu'il y a toujours quelques utilisateurs qui partagent la même valeur dans .ASPXANONYMOUS.

Je peux voir dans les mes journaux que 2 utilisateurs ou plus obtiennent vraiment le même cookievalue pour .ASPXANONYMOUS même s'ils ont IP différent.

Voici le trafic htttp. Dans la seconde image le cookie changement est affiché (Vous devez afficher l'image en taille réelle ne pouvoir lire le journal):

L'une des nombreuses demandes qui fonctionnent ok:

alt text http://img413.imageshack.us/img413/2711/log1.gif

Ensuite, il y a celui-ci demande qui change le cookie alt text http://img704.imageshack.us/img704/8175/log2.gif

Ensuite, le nouveau cookie est utilisé

alt text http://img704.imageshack.us/img704/3818/log3.gif

Juste pour être sûr que j'enlevé l'injection de dépendance. Je n'utilise pas OutputCaching.

Mon web.config a ce paramètre pour l'authentification:

<anonymousIdentification enabled="true" cookieless="UseCookies" cookieName=".ASPXANONYMOUS" 
     cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" /> 

    <authentication mode="Forms"> 
     <forms loginUrl="~/de/Account/Login" /> 
    </authentication> 

Est-ce que quelqu'un a une idée de ce que je pourrais vous connecter ou ce que je devrais jeter un oeil à?

MISE À JOUR

Je vis maintenant que le trafic http je l'ai montré est tout à fait valable. Une valeur changeante dans .ASPXANONYMOUS est quelque chose qui arrive parce que le cookie est rafraîchi. La valeur contient AnonymousID et un horodatage.

Cela ne conduit pas à des utilisateurs ayant la même valeur dans .ASPXANONYMOUS dans des conditions normales. Le problème est que chaque fois que les cokies sont configurés à partir de AnonymousIdentificationModule, il y a une chance qu'un couple d'utilisateurs obtienne ce cookie. Définir un cookie dans mon application n'a pas ce côté bizarre.

+0

Ainsi, si une demande particulière est Borking vos cookies, peut-être une source pertinente de cette demande serait aider à traquer le problème ? –

+1

Je ne suis pas encore sûr si le problème est vraiment une demande particulière. J'ai l'impression que quelques instances de contrôleur utilisent le même HttpContext à un moment donné. Je n'étais pas encore capable de reproduire l'erreur de la scène et du développement, même si j'y mettais beaucoup de trafic, c'est pourquoi je peux donner si peu de détails ici. –

+0

Une chance pour celui-ci? –

Répondre

1

Déclarez-vous des variables statiques dans votre code? J'ai eu ce problème similaire, et je me suis borné à cela; au moins pour ma situation.

+0

Cela semble intéressant! En ce moment je ne vois pas comment cela pourrait s'appliquer à mon code. J'ai seulement privé readonly ILog _log = LogManager.GetLogger (typeof (HomeController)); Et je ne me connecte pas à l'action que je touche en ce moment. Mais c'est une bonne avance quand même! –

+0

Avez-vous regardé cette autre question ici http://stackoverflow.com/questions/513782?tab=oldest#tab-top Peut-être que quelque chose ici peut vous aider? – TheGeekYouNeed

3

J'ai eu le même problème et la solution était de désactiver la mise en cache de sortie pour les réponses où vous appelez SetCookie.Voici quelques liens qui décrivent cette

+0

Le premier lien est très intéressant. Je n'ai pas de cache de sortie activé, mais je pense toujours que je peux utiliser certains des conseils dans l'article. –

+0

Est-ce encore vrai? – dariol

Questions connexes