[Résolu] Impossible d'acceder à mon compte Admin

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

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.

Version de Drupal : 

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.

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.

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.

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

Fallait le dire que c'était drupal 7 ^^!
Bon alors voila la requete a éxecuté:

TRUNCATE TABLE  flood;

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

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

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.

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 (
  fid int(11) NOT NULL AUTO_INCREMENT COMMENT 'Unique flood event ID.',
  event varchar(64) NOT NULL DEFAULT '' COMMENT 'Name of event (e.g. contact).',
  identifier varchar(128) NOT NULL DEFAULT '' COMMENT 'Identifier of the visitor, such as an IP address or hostname.',
  timestamp int(11) NOT NULL DEFAULT '0' COMMENT 'Timestamp of the event.',
  expiration int(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 ;