2009-06-24 5 views
0

J'écris une page de connexion pour mon site. Je pensais, serait de générer un nombre de 64 bits aléatoire et le stocker dans la base de données avec un cookie httpOnly être un bon moyen de stocker les données? puis chaque fois qu'un utilisateur reçoit une page (il y a une barre d'outils qui indique le nombre de nouveaux messages qu'il a) pour vérifier si le cookie aléatoire correspond au cookie aléatoire + userId dans la base de données.écrire une page de connexion et valider l'utilisateur

Est-ce bien?

BTW en utilisant C# ASP.NET

Répondre

0

me semble raisonnable, à condition que vous avez une source sûre pour les nombres aléatoires. Les mauvais générateurs aléatoires (c'est-à-dire prévisibles) constituent un gros risque pour la sécurité.

1

Je recommande d'utiliser un GUID plutôt qu'un nombre aléatoire de 64 bits. Un GUID est, à toutes fins pratiques, garanti d'être unique. En ce qui concerne la logique de sécurité que vous essayez d'implémenter, je ne peux pas dire si cela fonctionnera si et seulement si vous utilisez ce modèle car plus d'informations sont requises dans la question.

+0

Le 64 bits aléatoire est un identifiant de session ou de connexion. Si un utilisateur forge ses cookies pour utiliser l'ID utilisateur (ou le GUID) de quelqu'un d'autre, la logique Web vérifie l'ID de connexion aléatoire pour voir si elle correspond. Si ce n'est pas son forgé. Il n'autorise pas non plus la date d'expiration du cookie et invalide simplement les connexions en cliquant sur se déconnecter ou en se connectant depuis un autre emplacement (provoquant un nouvel ID aléatoire/de connexion). –

+0

Idem pour l'utilisation d'un GUID – Phil

+0

@acidzombie - J'ai modifié ma réponse en conséquence –

Questions connexes