Dur de mots de passe
Je suis assez d'aversion lorsque les sites essaient d'imposer ce genre de mot de passe que je devrais utiliser, mais tout dépend du site... cependant, les sites doivent toujours respecter un minimum absolu de qualité du mot de passe (au moins 6 à 8 caractères, différent du nom d'utilisateur)
Stockage des mots de passe:
Comme dit dans la première réponse, stocker les mots de passe en utilisant une fonction de hachage. pour comparer entre eux vient de hacher le mot de passe de nouveau.
Pour plus de sécurité lors du stockage des mots de passe hachés, ajouter un "sel" chaîne à eux:
au lieu de stocker sha1("mot de passe"), le magasin de sha1("somesalt":"mot de passe").
Ce sera fait de craquage de mot de passe de façon exponentielle plus difficile si par hasard le hachage est obtenu par un utilisateur malveillant, et facilite la nécessité pour les mots de passe forts.
Mot de passe oublié demandes
Pour gérer les demandes de mots de passe, créer un nouveau mot de passe jeton et envoyer un "régénérer le mot de passe" à la demande de l'email de l'utilisateur. lorsque ce lien est accessible, de créer (ou de permettre à l'utilisateur de choisir) un nouveau mot de passe, et d'annuler (supprimer) le jeton.
Aussi, les jetons doivent pas être deviner ou brute forcé (utiliser au moins 8 random hex/base64 caractères)
D'autres
Évidemment, chaque aspect de la sécurité sera le maillon le plus faible de manière spécifique des détails de mise en œuvre doit prendre la sécurité en compte, comme l'utilisation de https pour les connexions, etc...