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.
5/5 - (1 vote)

Autor

Dominik Piestrzyński

Specjalizuje się w działaniach SEO oraz wsparciu IT. Automatyzuje procesy i wykorzystuje technologie do poprawy wyników biznesowych w organizacjach. Od lat pracuje aktywnie w sektorze IT i przygotowuje strategie pomagające zwiększyć ruch organiczny na stronach. Rozwijam również środowiska automatyzacji o LLMy.

Dodaj komentarz

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


The reCAPTCHA verification period has expired. Please reload the page.