Les utilisateurs doivent être autorisés à entré un mot de passe avec un espace au début ou à la fin?
Les utilisateurs devraient être en mesure d'entrer un mot de passe tels que "12345" ou "12345" – un espace au début ou à la fin? Ou voulez-vous de couper le mot de passe pour supprimer le premier ou les espaces, car il se peut qu'une erreur de frappe.
- Google et Microsoft semble être le parage des mots de passe pour que l'idée ne semble pas exagéré.
- 10 ans de retard... mais cela offre un bon compromis... ux.stackexchange.com/a/8020/67374 (en gros, ne pas couper le mot de passe, mais sur login, si le mot de passe échoue, silencieusement essayer de nouveau avec un coupé mot de passe). Situation gagnant-gagnant.
Vous devez vous connecter pour publier un commentaire.
Oui, ils le devraient.
Non, vous ne devez pas découper.
urandom
est le déblocage/illimité à ne pas attendre pour les frais d'entropie. citation 1 citation 2 citation 3Permettez-moi de vous raconter une histoire.
J'avais besoin de créer un compte sur un site de commerce électronique, alors j'ai couru mon mot de passe aléatoire générateur de faire un 8 caractères en haut/en bas/nombre de/la ponctuation mot de passe, collé deux fois pour le confirmer, fini l'enregistrement avec tous mes renseignements personnels, et enregistré le mot de passe aléatoire dans un local chiffré de PGP fichier pour une utilisation ultérieure.
Plus tard, j'ai essayé la connexion, mais le collage de nouveau le mot de passe ne fonctionne pas. Après quelques tests, j'ai été horrifié de constater que le site avait dépouillé de tous les signes de ponctuation de l'original du mot de passe, en quelques égarés tentative d'assainissement, la réduction de mon mot de passe à trois facilement brute forceable lettres.
NE PAS couper ou désinfecter les mots de passe utilisateurs.
Jamais "nettoyer" un mot de passe tout simplement à rendre compte de "fautes de frappe". Cela va induire les utilisateurs en erreur et, dans certains cas, il est impossible pour eux de se connecter. En fait, ne jamais modifier un mot de passe derrière le dos de l'utilisateur...toujours les avertir qu'un mot de passe n'est pas valide et les laisser essayer un nouveau.
Un bon exemple que j'ai récemment rencontré était avec un commutateur 3Com. L'interface web m'a permis de changer le mot de passe admin, mais je n'ai pas de m'avertir que le mot de passe a été limité à huit caractères. J'ai entré un mot de passe qui a été de plus de huit caractères. Quand j'ai essayé de vous connecter après le changement, il a tout simplement rejeté mon mot de passe. Si je n'ai utilisé que les huit premiers caractères, cependant, j'ai été capable de se connecter (essai et d'erreur de ma part, pas de plaisir).
Mots de passe de ces jours, ne pas regarder la façon dont ils ont utilisé pour. Par exemple, mes mots de passe souvent ressembler à ceci:
Vous devez valider le mot de passe avec un champ de confirmation de toute façon. Si ils font de la faute de frappe deux fois - alors, vous nous l'espérons avez oublié le mot de passe ou une fonction remise en place.
L'espace ne devrait pas d'importance que vous ne devriez pas être stocker en texte brut.
Le moment de vous prendre une telle décision est le moment où vous commencez à marcher sur le chemin de la micro-gestion (plus de vos utilisateurs dans ce cas).
Un mot de passe contenant un espace de briser votre système? Ou est-ce un risque pour la sécurité? Alors ne vous inquiétez pas. Permettez aux utilisateurs de gérer leurs propres erreurs, même si cela signifie qu'ils doivent aller à la frustration. Leur faute de frappe ne doit jamais être votre problème.
J'ai été à une conférence de plus d'une fois où une personne se connectant à leur compte pour une démo après l'écran de l'ordinateur était déjà sur le grand écran, n'a pas à changer d'orientation pour le champ mot de passe correctement, et donc leur mot de passe a été révélé à l'ensemble de l'auditoire.
N'importe qui pouvait avoir à entrer les informations d'identification devant les autres devraient envisager de garder un espace de fin ou trois dans leur mot de passe, juste au cas où. Et lors de la construction de systèmes d'authentification, vous devez jamais garniture de ces espaces.
Je n'ai pas de soins. Aussi longtemps que ce que vous faites pour le mot de passe quand il est défini est également effectué lors de l'être plus tard. Garniture, tronquer, modifier la casse, le sel, le hachage, quel que soit - il suffit de le faire de manière cohérente.
Sans doute vous n'êtes pas stocker le mot de passe de toute façon, donc...
Espace est régulièrement un caractère de mot de passe, et vous ne devriez pas l'enlever.
Puisque vous avez probablement hash le mot de passe avant de les stocker dans la base de données, l'espace sera traité comme n'importe quel autre personnage.
Car c'est mauvais juju pour stocker le mot de passe que du texte, il n'y a pas besoin de trim() le mot de passe, puisqu'il sera immédiatement être haché.
...
sur une note similaire, ai-je raison de croire que les mots de passe ne devrait pas être regex validés pour l'injection sql, car ils vous être haché et n'est pas inséré en tant que texte brut dans la base de données?
C'est bien pour le mot de passe pour le contenir, comme déjà mentionné, cependant, je voudrais ajouter que lors de la génération de nouveaux mots de passe aléatoires (par exemple à un judicieux de réinitialisation de mot de passe perdu system), vous devez éviter de générer de ceux contenant de telles difficile caractères.
Si le mot de passe est suffisamment longue et aléatoire alors ce sera pour la restriction d'un peu délicate personnages vont faire la fin de vie de l'usager est beaucoup plus facile...
Je vote pour: Pas, ils ne devraient pas:
Il y a un gros avantage pour ne permettant pas les utilisateurs à utiliser les espaces au début et à la fin des mots de passe et c'est tout simplement qu'il élimine le problème qui se pose souvent lorsqu'un utilisateur copie et colle son mot de passe (par ex. à partir d'un email), et il comprend des espaces qui ne fait pas partie du mot de passe.
Ensuite, l'utilisateur est frustré, pense que le système est en panne et les contacts de soutien. Un développeur est rapidement retiré sur le projet de cocher la case "buggy" processus d'ouverture de session uniquement pour passer une journée en tirant ses cheveux jusqu'à ce qu'il/elle se rend compte du problème.
Je pense que l'application de cette politique lors de la création d'un mot de passe résout plus de problèmes qu'elle crée.