Soumis par ikino le jeu 01/02/2018 - 09:15

    Script super, si votre site ne permet pas de redéfinir par courrier email votre mot de pass.

    https://drupal-addict.com/recuperer-le-mot-de-passe-admin-d-un-site-drupal

    Copiez ce script dans un fichier '.php' déposez le à la racine du site et lancez le avec la command suivante :

    fichier.php?pass=newpwd

    'newpwd' à remplacer par votre nouveau mot de pass.

     

    <?php

    use Drupal\Core\DrupalKernel;
    use Symfony\Component\HttpFoundation\Request;

    if (pathinfo(__FILE__, PATHINFO_FILENAME) == 'admin-pass-reset') {
      die('Please change your file name to a random string to continue');
    }

    // Boot Drupal.
    $autoloader = require __DIR__ . '/autoload.php';

    $request = Request::createFromGlobals();
    $kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod', FALSE);
    $kernel->boot();

    // Get password hasher service.
    $password_hasher = $kernel->getContainer()->get('password');

    // Hash password.
    if (isset($_GET['pass']) && !empty($_GET['pass'])) {
     $newhash =  $password_hasher->hash($_GET['pass']);
    }
    else {
      die('Retry with ?pass=PASSWORD set in the URL');
    }

    // Update user password.
    $updatepass = Drupal::database()->update('users_field_data')
      ->fields(array(
        'pass' => $newhash,
    //  'name' => 'admin',
    //    'mail' => 'yourmail@example.com'
      ))
      ->condition('uid', '1', '=')
      ->execute();

    // Clean user 1 cache.
    Drupal::cache()->delete('values:user:1');

    print "Done. Please delete this file as soon as possible";  

    ?>