Question

Je construis un site qui offre des fonctionnalités aux utilisateurs sans les obliger à vous inscrire. L'idée est d'envoyer un e-mail à l'adresse indiquée contenant un lien avec un jeton. De cette façon, l'utilisateur serait ce lien à tout moment pourraient-ils vouloir apporter des modifications à la fonctionnalité.

Alors que je me rends compte qu'il n'y a aucun moyen de vraiment sécuriser un tel concept, je suis à la recherche d'options pour minimiser la visibilité du jeton. Dans son état actuel, dès que l'utilisateur clique sur le lien, il est ajouté à l'histoire de leur navigateur, accessible à toute personne qui a accès à l'ordinateur.

Dans la plupart des cas je venir sur cela avec une forme simple pour que le jeton pourrait être passé à travers une requête POST, mais les formes ne sont pas vraiment pris en charge dans les courriels.

La question est, est-ce que quelqu'un sait d'une autre façon de cacher un jeton dans un tel courriel?

Était-ce utile?

La solution

Je suis sûr que vous avez pensé à cela, mais vous pouvez leur envoyer un mot de passe et un lien vers une URL où ils avaient besoin d'entrer ce mot de passe. Si l'URL contient un autre mot de passe envoyé par courrier électronique, ce serait un petit compromis à la sécurité que d'habitude pour faire le mot de passe entré par l'utilisateur assez court, comme un numéro de code confidentiel, par exemple.

Autres conseils

Vous pouvez renvoyer un nouveau jeton à chaque fois que l'utilisateur veut se connecter. Demandez-leur plop dans leur adresse e-mail et leur envoyer un nouveau jeton, tout en établissant des jetons précédents à « expiré ». Ou, si le serveur détecte qu'un ancien lien / jeton a été utilisé, il peut envoyer automatiquement une nouvelle à l'adresse e-mail associée et demander à l'utilisateur de vérifier leur e-mail pour un nouveau lien.

Il faudrait pour cela garder la trace des anciens, jetons périmés et les adresses e-mail associées, mais nécessite toujours pas d'enregistrement -. Simplement qu'un utilisateur de vérifier leur courrier chaque fois qu'ils veulent se connecter Vous voulez être essentiellement le soutien piggy sur leur e-mail l'authentification.

Il serait également être contre-intuitif pour les utilisateurs.

tournerait le jeton en cryptographique nonce, qui est principalement utilisé pour empêcher la attaque rejeu vous avez mentionné.

Une autre réponse, peut-être plus utile:

Certains navigateurs (comme Chrome) ne consignent 301 « Moved Permanently » dans l'histoire réoriente du navigateur. Firefox fait, mais il y a une proposition de changement que: https://wiki.mozilla.org/Browser_History:Redirects

Par exemple, dans Chrome, si vous naviguez directement à

  

amazon.com

il suivra une redirection 301 à

  

www.amazon.com

Si vous vérifiez ensuite l'historique du navigateur, il n'affiche

  

www.amazon.com

Ainsi, si votre serveur renvoie une redirection 301 à partir du lien de connexion, le serveur peut enregistrer le jeton, le retirer du lien de redirection, et le navigateur de l'utilisateur ne ferait enregistrer le lien de redirection.

(ce qui est la première fois que la réponse en cas de débordement de la pile - laissez-moi savoir si mon écriture ne sait pas ou si je suis absent autre étiquette)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top