Comment débloquer mon propre compte administrateur après 5 tentatives de connexion infructueuses?


13

J'ai entré le mauvais mot de passe administrateur plus de 5 fois, donc Drupal a bloqué mon entrée.

J'ai changé le mot de passe de l'utilisateur directement dans MySQL, puis j'ai essayé de me connecter, mais cela ne fonctionne toujours pas. De plus, si je clique sur le lien de demande de nouveau mot de passe, je ne reçois pas d'e-mail.

Comment débloquer mon compte?

Réponses:


14

Pour répondre à la question de votre titre (qui semble devenir plus compliquée suite à votre question réelle), il vous suffit d'effacer le floodtableau dans votre base de données. Si vous exécutez Drush, les éléments suivants devraient vous trier:

drush php-eval 'db_query ("DELETE FROM flood");'

A défaut, effacez simplement la floodtable de votre base de données manuellement :)


C'est terriblement rapide pour un vendredi après-midi Chappers, je commence à penser que vous n'avez peut-être pas été au pub pendant la majeure partie de l'après-midi. TTT ... TTT.
Clive

@Clive Au pub? Un vendredi après-midi? Ce serait bien :-)
Chapabu

Je pensais que boire vendredi était obligatoire maintenant? Permettez-moi de parler à mon représentant syndical ...
Clive

1
Les rats. Vers la salle de propagande ...
Clive

3
Je ne recommanderais pas de supprimer aveuglément tous les enregistrements de la floodtable, cela réinitialiserait tout le contrôle des inondations pour votre site Web.
tostinni

7

L'effacement de la table d'inondation donnera à l'OP 5 autres essais pour deviner le mot de passe. (Et s'il a joué avec le champ de mot de passe directement dans MySQL, le champ de mot de passe peut être devenu coincé et donc inutile.)

Effacer la table d'inondation ne lui permettra pas de se connecter en tant qu'administrateur, ce que je suppose que l'OP souhaite réellement faire.

Cependant, il existe quelques autres commandes drush qui peuvent être utiles. Le premier produira un lien de réinitialisation de mot de passe unique pour l'UID 1, le second définira un nouveau mot de passe pour l'utilisateur admin:

drush uli
drush upwd admin --password="newpassword"

Bonne prise! J'ai même édité la question et je ne l'ai pas prise ;-)
Chapabu

6

Si vous n'êtes pas très expérimenté avec le genre de choses Drush, vous pouvez exécuter le sql suivant dans votre phpmyadmin

DELETE FROM flood;

La même erreur peut se produire si vous avez essayé le même nom d'utilisateur avec 5 fois ou plus


5

Une bien meilleure solution, qui est sensiblement absente des autres articles à ce sujet:

drush user-unblock {username}

https://drushcommands.com/drush-7x/user/user-unblock/

EDIT: cela n'efface toujours pas la table des «inondations», malheureusement, qui est stupide. Comme d'autres l'ont mentionné, pour activer la connexion aprèsdrush user-unblock dans le cas où un utilisateur est bloqué par trop de tentatives de connexion, vous devez accéder à la base de données et tronquer (vider toutes les données de) la table 'flood'.

Comme d'autres l'ont mentionné en posant cette question, cela semble problématique dans un environnement de production.

Comme d'habitude, quelqu'un a déjà créé un module qui ajoute des commandes drush pour effacer la table flood: https://www.drupal.org/project/flood_unblock


2

Il suffit de tronquer l'inondation de la table

Inondation tronquée;

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.