Quels caractères dois-je autoriser les utilisateurs à entrer comme mot de passe?PHP login mot de passe question
Répondre
Quels que soient les caractères qu'ils aiment. Se faire dire que votre mot de passe est trop sécurisé est tout simplement ennuyeux.
Théoriquement, il n'y a aucune restriction que vous avez avoir. Mais du point de vue de la facilité de programmation, je sais que '
ne devrait pas être autorisé (injection mysql, etc mais si le code est écrit correctement, cela ne devrait pas poser de problème).
Dépend de la sécurité dont vous avez besoin. Je dis les lettres majuscules et minuscules, les chiffres et la majorité des symboles (tous les symboles de la première rangée, plus le point d'interrogation, la virgule, la période et peut-être quelques autres).
Vous devriez être aussi peu restrictif que possible. Laissez les gens utiliser les caractères qu'ils veulent.
Tous les caractères qu'ils aiment, et toute longueur qu'ils aiment (sauf peut-être pas sur votre limite de PHP Post). Dans un bon système de mot de passe, vous stockez uniquement le hachage, et lors de la connexion, vous envoyez uniquement le hachage. Donc ça ne devrait pas avoir d'importance.
Et même si vous stockez le mot de passe, vous devez échapper toute chaîne que vous avez placée dans la base de données (mysql_real_escape_string
), donc tout caractère pourrait et devrait être autorisé. Si vous stockez le mot de passe réel, vous pouvez limiter la longueur à la taille du champ, ce qui devrait être d'au moins 200 caractères dans ce cas.
Je pense que vous devriez décider quel jeu de caractères vous utilisez, et limitez-le seulement à cela. Donc, si vous n'utilisez pas UTF8 mais par ex. ISO-8859-1, vous ne voulez pas qu'ils écrivent des caractères multi-octets.
Tout ce qui est disponible sur un keybaord en-US standard est parfait.
Vous pouvez autoriser l'insertion de caractères dans le mot de passe. Veuillez vous assurer de valider l'entrée pour empêcher l'injection de MySQL - si le cryptage n'est pas utilisé. Il est conseillé de chiffrer les mots de passe en utilisant au moins MD5() ou SHA1().
Je pense que le devrait être autorisé à entrer chaque lettre qu'ils veulent. Mais vous devez appliquer une longueur appropriée pour le mot de passe afin de le rendre plus sûr. Aussi, je vous conseille d'utiliser la connexion fédérée si vous le pouvez:
- openid: lightopenid est une bibliothèque vraiment facile.
- facebook connecter
- twitter connexion unique
Ces alternatives vont être ainsi securer.
- 1. CakePHP mot de passe hasher et login
- 2. PHP Login - Mot de passe - Caractères spéciaux? - Centos 5 System
- 3. Nom d'utilisateur/mot de passe login Sharepoint
- 4. Asp.net Login contrôle - mot de passe texte
- 5. méthode vérifier login et mot de passe
- 6. Authlogic: vérification du login/mot de passe
- 7. login mot de passe web service Java
- 8. CakePHP login, mot de passe champ renvoie le mot de passe hashed?
- 9. comment puis-je changer « nom d'utilisateur-mot de passe login » à « email mot de passe login » sur django-inscription
- 10. PhpPgAdmin demande entrer le login et le mot de passe
- 11. service WCF demande login et mot de passe
- 12. Auth à twitter avec login/mot de passe
- 13. Login crypter le mot de passe pour comparer
- 14. PHP & MySQL comparer mot de passe
- 15. mot de passe script PHP MySQL changement
- 16. EC2 instances login avec mot de passe et keypair
- 17. Faire un login programmatique sans nom d'utilisateur/mot de passe?
- 18. OpenID et Authlogic - login et mot de passe?
- 19. asp.net appartenance login avec mot de passe alternatif
- 20. Validation login et mot de passe sur vol stationnaire
- 21. HTML PHP MYSQL Changer mot de passe
- 22. Protection par mot de passe PHP
- 23. mot de passe oublié page temporaire php
- 24. question de mot de passe de base de données MySQL
- 25. Contenu protégé par mot de passe - question de base
- 26. PHP Hashing mot de passe en 2011
- 27. PHP Login Redirections
- 28. vérification de mot de passe php
- 29. vérification de mot de passe php
- 30. php secure login
Bien sûr, assurez-vous de le hacher avec du md5, du sha1 et d'autres effets magiques. Cela me fait vraiment chier quand les sites limitent mes personnages parce que la seule vraie raison pour laquelle ils le font est de se protéger de l'injection SQL, s'ils n'ont pas nettoyé un mot de passe en clair stocké dans une base de données. J'espère vraiment qu'ils ne stockent pas mon texte en clair. Donc, ils ne sont pas sûrs ou me forcent à ne pas être sûrs. –