2009-10-26 2 views
1

J'ai une application web simple où les administrateurs peuvent créer des utilisateurs. Les utilisateurs ne créent pas eux-mêmes. Tout ce qu'un administrateur doit faire est d'entrer un nom d'utilisateur et un e-mail et un mot de passe temporaire est envoyé à l'utilisateur pour qu'il se connecte. Cet e-mail est envoyé au format texte brut. Si l'utilisateur se connecte pour la première fois, il doit changer son mot de passe et entrer une question et une réponse de sécurité. L'utilisateur doit évidemment connaître son mot de passe temporaire pour se connecter pour la première fois et c'est la seule façon que je connaisse de le faire savoir (par e-mail). L'autre option serait que l'administrateur appelle l'utilisateur et lui dise par téléphone ou en personne son mot de passe temporaire, mais ce n'est pas pratique. Comment pourrais-je gérer une situation comme celle-ci?Sécurisation des mots de passe temporaires envoyés par e-mail aux utilisateurs?

+0

Est-ce la sécurité de l'e-mail qui vous préoccupe? – JasonS

Répondre

4

J'utilise généralement une URL temporaire basée sur un enregistrement d'invitation à l'arrière-plan. Essentiellement, vous créez un enregistrement d'invitation et générez un hachage basé sur certaines informations, par exemple l'adresse e-mail de l'utilisateur, un horodatage et une valeur aléatoire. Enregistrez le hachage dans le cadre de l'enregistrement d'invitation, puis envoyez-lui une URL avec le hachage comme paramètre.

Lorsqu'ils cliquent sur le lien recherchez l'invitation et validez qu'elle existe et qu'elle n'a pas été utilisée, autorisez-les à configurer leur mot de passe et à invalider l'invitation.

Il se débarrasse de la nécessité d'envoyer n'importe quel mot de passe et vous pouvez définir une expiration sur vos enregistrements d'invitation si vous le souhaitez également.

+0

Que voulez-vous dire par enregistrement d'invitation? – Xaisoft

+0

Par enregistrement d'invitation, j'entends un enregistrement de base de données qui enregistrerait le hash d'invitation, l'adresse e-mail de l'utilisateur et les informations d'horodatage et/ou d'expiration de l'invitation. – paulthenerd

2

Le scénario que vous décrivez est très courant. Il envoie un mot de passe temporaire par courrier électronique et exige qu'il soit modifié lors de la première connexion. Sauf si vous avez un problème spécifique avec ce modèle, je ne vois aucune raison de ne pas l'utiliser. Ayant un appel d'administrateur, les utilisateurs peuvent se compliquer. J'éviterais cela à tout prix.

+0

Oui l'appel de l'administrateur irait probablement pisser l'administrateur si vous leur aviez dit qu'ils devaient le faire. J'étais simplement curieux de savoir s'il y avait des façons d'ajouter un niveau de sécurité supplémentaire, donc je peux être un peu plus sûr que c'est la personne à qui j'ai envoyé le mot de passe temporaire qui change réellement son mot de passe. – Xaisoft

0

Vous pouvez générer une URL personnalisée avec un mot de passe et un hachage utilisateur comme argument où l'utilisateur doit se connecter. Le hachage sera difficile à récupérer si l'attaquant n'a pas l'information

+0

Pouvez-vous élaborer sur ce plus? Voulez-vous dire comme l'URL avec un GUID? – Xaisoft

+0

oui et envoyer cette URl à l'utilisateur par mail – Gregoire

+0

Je suis un peu confus, n'est-ce pas encore nécessaire d'envoyer le mot de passe temporaire par e-mail? – Xaisoft

Questions connexes