Bonjour,
Je me suis déconnecter de mon compte administrateur de mon site et je n’arrive plus à me reconnecter, je ne me souviens pas de mes identifiants.
Lorsque que je demande un nouveau mot de passe en mettant mon adresse email, j’ai un message d’erreur : Warning : mail() [function.mail] : Failed to connect to mailserver at «127.0.0.1» port 25, verify your «SMTP» and «smtp_port» setting in php.ini or use ini_set() in DefaultMailSystem->mail() (line 77 of C:\Program Files\EasyPHP-5.3.4.0\www\drupal-7.x-dev\modules\system\system.mail.inc).
Du coup, j’ai plus accès à mon compte, comment puis-je retrouver mes identifiants par exemple avec ma base de donnée ?
Merci.
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Les mots de passe sont hashés en md5 en BDD. Le plus simple pour toi serait de générer un nouveau hash md5 et de l’insérer en base à la place de ton ancien mot de passe.
Tu peux trouver des sites qui génèrent un md5 depuis du texte simple en cherchant sur google. Voici un exemple de ce que tu peux utiliser : http://www.generatools.fr/generateur/md5.html.
En local, autant être sale.
Bob12
26
Encore plus simple, via phpMyAdmin, dans une fenêtre SQL :
update users set pass=md5('monmotdepasse') where uid = 1vincent59
2594
Si j’ai bien compris Vincent, je dois aller dans «configuration de PHP MY Admin», je clique sur «SQL» (entre «structure et Rechercher»), j’ai alors «Exécuter une ou des requêtes sur la base dru2to7» qui apparait et dans le texte je cole :
update users set pass=md5(‘monmotdepasse’) where uid = 1
puis exécuter, c’est bien ça ?
Par contre comme j’ai essayé pas mal de fois avec le mauvais mot de passe, j’ai le message «Sorry, there have been more than 5 failed login attempts for this account. It is temporarily blocked. Try again later or request a new password»
Dans combien de temps ça va se débloquer ?
Merci.
toto55
140
Pas besoin d’attendre : faire comme cela.
update users set pass=md5('monmotdepasse'), status=1 where uid = 1;Voila
Aya
508
Cela n’a pas marché, voila ce que j’ai fait.
En supposant que mon nouveau mot de passe est drupalien, j’ai taper :
update users set pass=md5(‘drupalien’), status=1 where uid = 1
j’ai eu alors le messager suivant en vert : 1 ligne(s) affectée(s). ( Traitement en 0.0028 sec. )
Je suis alors retourné, dans mon site et j’ai tapé le nom d’utilisateur et en mot de passe j’ai mis «dupalien» (celui que je viens de configurer)
Et j’ai encore ce message :
Sorry, there have been more than 5 failed login attempts for this account. It is temporarily blocked. Try again later or request a new password.
Comment faire ? Merci.
toto55
140
Comme dit Aya, le blocage est dû au champ status = 0.
Regarde dans la table users si c’est le cas.
Tu peux faire la modif en cliquant sur l’icone de modification (le crayon) sur la ligne, ça évite de taper du code.
Il faut passer le champ status à 1, et ensuite taper le bon mot de passe (dans ton message un coup c’est drupalien, après c’est dupalien…)
vincent59
2594
Fallait le dire que c’était drupal 7 ^^ !
Bon alors voila la requete a éxecuté :
TRUNCATE TABLEflood;sa devrait remarcher avec ton nouveau mot de passe.
Cordialement, Aya
Edit : Pour info, Drupal 7 intègre le fait de flood le service de login ce qui n’était pas le cas en Drupal 6 (en tout cas pas ma version).
de ce fait une variable est rajouter dans la table flood avec l’ip de ta machine afin de bloquer l’accès a cette ip pour une authentification. Le temps a attendre n’est pas trop précisé dans la doc (ou alors j’ai pas vu O_O ). Donc le mieux est encore de vidé la table flood histoire que c’est variable disparaisse et tadaaaa ça marche.
En plus sa m’évitera de chercher le jour ou sa m’arrivera.
Re-edit (j’avais pas vu le post d’au-dessus =S) : le champ status ne gere que les valeurs 0 et 1 donc actif ou bloquer par le fait d’avoir saisie fois le même code bien sur pour pouvoir accéder à ton site il faut que cette donnée soit a 1 !
Voila j’ai fini mes edits \o/ .
Aya
508
Pour info, il existe un module sympa appelé «login security» qui permet de gérer le flood sur le formulaire de connexion, il a des fonctionnalités sympathiques comme bloquer un compte utilisateur au bout de x tentatives, etc.
Mais oui, nativement Drupal 6 ne le gère pas :)
Bob12
26
Dans la table «user», j’ai bien 1 à coté de «admin» (nom d’utilisateur)
J’ai effacé la table «flood» comme tu me l’a dis.
J’ai tapé de nouveau : update users set pass=md5(‘drupalien’) where uid = 1
Et quand j’essai de me connecter avec mon nouveau de passe j’ai ce message d’erreur :
PDOException : SQLSTATE[42S02] : Base table or view not found : 1146 La table ‘dru2to7.flood’ n’existe pas : SELECT COUNT(*) FROM {flood} WHERE event = :event AND identifier = :identifier AND timestamp > :timestamp ; Array ( [:event] => failed_login_attempt_ip [:identifier] => 127.0.0.1 [:timestamp] => 1294153083 ) in flood_is_allowed() (line 1198 of C:\Program Files\EasyPHP-5.3.4.0\www\drupal-7.x-dev\includes\common.inc).
Je sais pas ce qu’il ne va pas.
toto55
140
T’as juste effacé le contenu de la table ou t’as tout viré (contenu + table) ?
Bob12
26
J’ai tout effacé contenu + table.
Je peux recréer la tabler s’il le faut, mais il me demande le nombre de colonne ?
toto55
140
Bah, t’as 2 mains gauches ?
Heureusement que j’ai un drupal7 sous le coude, voici le script de création :
CREATE TABLE IF NOT EXISTS
flood(fidint(11) NOT NULL AUTO_INCREMENT COMMENT 'Unique flood event ID.',eventvarchar(64) NOT NULL DEFAULT '' COMMENT 'Name of event (e.g. contact).',identifiervarchar(128) NOT NULL DEFAULT '' COMMENT 'Identifier of the visitor, such as an IP address or hostname.',timestampint(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp of the event.',expirationint(11) NOT NULL DEFAULT '0' COMMENT 'Expiration timestamp. Expired events are purged on cron run.',PRIMARY KEY (
fid),KEY
allow(event,identifier,timestamp),KEY
purge(expiration)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
vincent59
2594
Merci Vincent. C’est réglé.
toto55
140
bonjour
j’ai désactiver par erreur le module d’accès à l’administration du site drupal 7
comment faire pour y accéder autrement ?
merci
uncreole974
20