Drupal 8 jak zresetować hasło dostępowe do administratora

Czasami bywa tak, że wszystko zawodzi i nie ma możliwości zresetować hasła za pomocą opcji „przypomnij hasło”. Wówczas w sytuacji krytycznej szybka zmiana hasła będzie możliwa, jedynie posiadając dostęp shellowy na hostingu. Niestety nie wszystkie mają takie możliwości. Kiedy jednak jest dostęp do konsoli wystarczy jeden prosty krok.

Reset hasła Drupal 8

Aby zresetować hasło, należy przygotować plik php, który wykonasz na serwerze w głównym katalogu strony. Zacznijmy od początku. Otwórz notatnik i umieść tam kod:

<?php
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
if (pathinfo(__FILE__, PATHINFO_FILENAME) == 'admin-pass-reset') {
die('Prosze zmien Twoja nazwe pliku na losowa aby moc przejsc do dzialania');
}
// 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'=>'TWOJ_LOGIN',
'mail'=>'TWOJ@E-MAIL.PL'
))
->condition('uid', '1', '=')
->execute();
// Clean user 1 cache.
Drupal::cache('entity')->delete('values:user:1');
print "Wykonano, usun ten plik z serwera - tak szybko jak to mozliwe!";

Reset hasła krok po kroku ze skryptem php

W miejscu TWOJ_LOGIN wpisz: login dla użytkownika, może to być admin, ale też możesz użyć nowej nazwy. W miejscu TWOJ@E-MAIL.PL wpisz swój aktualny adres mailowy. Kiedy masz przygotowany plik, utwórz na serwerze w głównym drzewie katalogu Twojej strony Drupal (obok plików index.php, robots.txt), następnie nazwij go losowymi znakami
np. ed78pc.php
To ważne, ponieważ ten plik umożliwi każdemu dostęp do Twojej strony!
Następnie jak najszybciej otwórz go w przeglądarce wpisując adres:
twojadomena.pl/ed78pc.php?pass=TU_WPISZ_SWOJE_NOWE_HASLO

Teraz po otrzymaniu pozytywnej wiadomości w oknie przeglądarki, należy natychmiast usunąć plik z serwera!!

Zaraz po usunięciu, można spokojnie spróbować się zalogować swoimi nowymi poświadczeniami administratora w systemie Drupal 8 na swojej stronie.
Rate this post

Autor

Dominik

Zajmuje się tworzeniem stron internetowych i realizacją działań SEO na rzecz dużych i małych przedsiębiorstw. Pracowałem między innymi dla Semahead czy wydawnictwa HELION. Prowadzę szkolenia z zakresu HTML5 i SEO. Każdego dnia odkrywam nowe możliwości, tak by rozwijać Twój biznes w sieci.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *