Bonjour

Sur mon appli web, les tentatives de connexion infructueuses liées à un compte existant finissent par "locker" le compte au bout de 3 essais (paramétrable)

Les admins ont par ailleurs 2 biais pour désactiver les comptes : une date limite, et un bouton qui agit comme un nombre d'essai trop élevé, en utilisant le même champ de la base 'users', password_tries, que j'update à limite +1.

Jusqu'alors le processus était assez simple et humanisé : Après essais infructueux, l'utilisateur était informé que son compte était locké, et qu'il devait contacter l'admin pour récupérer un mot de passe. Il passe alors par un formulaire qu'il renseigne de son nom, prénom, email et société


l'admin envoie un nouveau mot de passe provisoire qu'il ne voit pas, il active en fait l'envoi d'un courrier vers l'utilisateur contenant ce mot de passe provisoire, et l'utilisateur doit changer son mot de passe dès qu'il se connecte, sans pouvoir rien faire d'autre.

Au besoin, l'admin doit délocker l'utilisateur, ce qui dans les faits se traduit par la mise à zéro de password_tries. L'envoi d'un mot de passe ne réactive pas le compte automatiquement

Les mots de passe sont stockés en SHA-1 dans la base. Les mots de passe doivent respecter une certaine forme 'regexp', 8 lettres mini, au moins un caractère non-alphanumérique

On me demande aujourd'hui d'automatiser un peu plus le processus.
En gros de distinguer password perdu et demande d'inscription, et si le mail est connu pour les mots de passe perdu, de renvoyer directement un mot de passe temporaire.

Pensez vous que face à ce mécanisme de désactivation automatique, il est convenable (point de vue sécurité) de renvoyer directement un nouveau mot de passe à l'utilisateur ? et donc de le délocker par la même occasion.
Sachant que si oui, c'est acceptable, je ferais en sorte de distinguer un compte désactivé par nombre d'essais et un compte désactivé directement par l'administrateur, pour ne renvoyer le mot de passe que lorsque c'est le nombre d'essais qui est trop élevé.


Dans les autres cas, l'admin sera mis à contribution comme auparavant et devra si besoin délocker (par la date ou non) et renvoyer un mot de passe provisoire.

Est ce que c'est fiable et sur de faire comme ça, ou bien avez-vous des remarques ?

Merci d'avance

Fred