2011-01-20 2 views

Répondre

4

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.

+1

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. –

0

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).

0

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.

0

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.

0

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.

0

Tout ce qui est disponible sur un keybaord en-US standard est parfait.

0

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().

0

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.

Questions connexes