Tworzysz stronę internetową i potrzebujesz pomocy?

Z założenia lepiej haseł nie zapominać, ale czasem bywa to trudne, zwłaszcza gdy się przestrzega zasad w stylu „do każdego serwisu/konta indywidualne/unikatowe hasło” czy „nigdzie nie zapisuj haseł” – dlatego dziś będziemy odzyskiwać zapomniane hasło do panelu zarządzania WordPressem.

WordPress i zapomniane hasło

Teoretycznie odzyskanie dostępu do WordPressa nie jest specjalnie trudne – wystarczy na oknie logowania skorzystać z opcji:

Nie pamiętasz hasła?

W tym momencie zostaniemy przeniesieni na stronę:

https://[adres_strony]/wp-login.php?action=lostpassword

Znajduje się tu formularz, w którym wystarczy wpisać naszą nazwę użytkownika lub adres e-mail:

wordpress_wp-admin_lostpassword01

Po chwili otrzymacie e-mail z linkiem w stylu:

https://[adres_strony]/wp-login.php?action=rp&key=[kod]&login=[nazwa_użytkownika]

Wystarczy na niego kliknąć, by trafić do kolejnego formularza, za pomocą którego utworzycie nowe hasło:

wordpress_wp-admin_lostpassword02

Proste i szybkie… O ile macie dostęp do adresu e-mail przypisanego do swojego konta…

Reset hasła z poziomu drugiego konta

W innym wypadku – jeśli do naszej strony jest przypisany inny użytkownik (kolega, zapasowy użytkownik) z odpowiednimi uprawnieniami, możemy skorzystać z jego pomocy.

Wystarczy z drugiego konta przejść do edycji użytkownika z problemem:

  • Użytkownicy > Wszyscy użytkownicy > [użytkownik z problemem]

I w odpowiednim miejscu ustawić nowe hasło:

wordpress_wp-admin_lostpassword03

Proste i szybkie… O ile jest drugi użytkownik z odpowiednimi uprawnieniami…

Resetowanie hasła do WordPressa w MySQL

Gdy bierzemy się za bazę danych (co najmniej) mamy 3 drogi:

  • Bezpośrednia edycja tabeli z poziomu phpMyAdmin
  • Polecenie (zapytanie) SQL z poziomu phpMyAdmin
  • Polecenie (zapytanie) SQL z wiersza poleceń/konsoli

Wybór metody pozostawiam Wam, wszystkie są porównywalnie „skomplikowane”… ;-)

Bezpośrednia edycja tabeli z poziomu phpMyAdmin

Logujemy się do phpMyAdmin jako administrator (root) lub inny użytkownik z odpowiednimi uprawnieniami i przechodzimy do bazy danych, z której korzysta nasz WordPress:

  • [baza danych] > tabela „wp_users”

Znajdziecie tu listę wszystkich użytkowników, np.:

wordpress_phpmyadmin_wp-users01

Wystarczy przejść do edycji wybranego użytkownika. Nie ma znaczenia, czy będzie to „edytuj” (zalecam), czy „inline edit” – w obu przypadkach będzie pole „tekstowe” o nazwie „user_pass” w którym wpisujemy nowe hasło.

Hasło nie wpisujemy w formie jawnej, tzn. „zwykłego tekstu”, a przetworzonej – w formie skrótu MD5. Odpowiedni generator (online) znajdziecie choćby za pomocą Google…

Przykład dla hasła „123456”:

  • Hasło: 123456
  • MD5: e10adc3949ba59abbe56e057f20f883e

I to właśnie hasło „zaszyfrowane” w MD5 wpisujemy w polu „user_pass”.

Polecenie (zapytanie) SQL z poziomu phpMyAdmin

Kolejna metoda – również z wykorzystaniem phpMyAdmin, choć trochę w innej formie/formule – to wykonanie odpowiedniego polecenia (zapytania) SQL.

Ty razem również zaczynamy od przejścia (wybrania) do odpowiedniej bazy danych – ale tym razem w górnej belce nawigacyjnej wybieramy „SQL” gdzie znajduje się duże pole tekstowe zatytułowane:

Wykonanie zapytania/zapytań SQL do bazy danych [nazwa bazy danych]

Wpisujemy tu polecenie wg schematu:

UPDATE `wp_users` SET `user_pass` = MD5('nowe_hasło') WHERE `wp_users`.`user_login` = "nazwa_użytkownika";

W naszym przypadku będzie to użytkownik „patryk” i nowe hasło „123456”, a więc polecenie będzie wyglądać tak:

UPDATE `wp_users` SET `user_pass` = MD5('123456') WHERE `wp_users`.`user_login` = "patryk";

wordpress_phpmyadmin_sql01

Można też wykonać to polecenie, odwołując się do użytkownika po jego ID, a nie po nazwie – ID danego użytkownika znajdziecie w tabeli „wp_users”:

wordpress_phpmyadmin_wp-users01

W tym przypadku polecenie ma format:

UPDATE `wp_users` SET `user_pass` = MD5('nowe_hasło') WHERE `wp_users`.`ID` = "ID_użytkownika";

W naszym przypadku użytkownik „patryk” ma ID „8” i nowe hasło – standardowo na potrzeby tego poradnika –  „123456”, a więc polecenie będzie wyglądało tak:

UPDATE `wp_users` SET `user_pass` = MD5('123456') WHERE `wp_users`.`ID` = "8";

wordpress_phpmyadmin_sql02

Oczywiście w każdym przypadku polecenie zatwierdzacie przyciskiem „wykonaj”.

Polecenie (zapytanie) SQL z wiersza poleceń/konsoli

Ostatnia metoda związana z edycją bazy danych to wykonanie kilku poleceń z poziomu wiersza poleceń/konsoli – co od razu eliminuje wszystkich bez własnego serwera, czyli korzystających z hostingu współdzielonego gdzie zazwyczaj nie ma dostępu do konsoli.

Będziemy tu działać podobnie jak w przypadku poradnik „odzyskiwanie dostępu do konta root w MySQL” – oczywiście z pewnymi modyfikacjami, bo nie chcemy resetować dostępu do konta „root” usługi MySQL, a tylko dla odpowiedniego użytkownika WordPressa ;-)

Logujemy się do bazy danych za pomocą polecenia:

mysql -u root -p

Zaczynamy od wyświetlenia wszystkich dostępnych baz danych:

show databases;

Gdy już znamy nazwę bazy (można ją też pobrać z pliku wp-config.php, ale wtedy czemu nie skorzystać z metody z wp-login.php, o której będzie za chwilę) przechodzimy do niej:

use nazwa_bazy_sql;

Pora na listę użytkowników:

SELECT ID, user_login, user_pass FROM wp_users;

wordpress_mysql01

W tym momencie mamy już ID użytkownika (ID „8”) oraz nazwę („patryk”) więc możemy przystąpić do zmiany hasła:

UPDATE wp_users SET user_pass = MD5('123456') WHERE ID=8 LIMIT 1;

Lub:

UPDATE wp_users SET user_pass = MD5('123456') WHERE user_login='patryk' LIMIT 1;

Resetowanie hasła z poziomu FTP (plik wp-login.php)

Kolejna metoda to reset hasła z wykorzystaniem pliku wp-login.php znajdującego się w głównym katalogu WordPressa.

Jest to bardzo prosta i szybka metoda, ale umieszczam ją dopiero za opisem odzyskiwania dostępu do konta z wykorzystaniem SQL, gdyż… do jej zastosowania potrzebujemy znać ID użytkownika – a ID najprościej odczytać właśnie z poziomu phpMyAdmin.

Teoretycznie możecie zaryzykować, i – jeśli nie zmienialiście nic w użytkownikach, i korzystacie z użytkownika założonego bezpośrednio podczas instalacji/konfiguracji WordPressa – uznać, że ID Waszego użytkownika to będzie „1”.

Oczywiście wymagany jest też dostęp do plików Waszego WordPressa, ale to w większości przypadków nie powinno stanowić problemu.

By ustawić nowe hasło dla użytkownika, wystarczy w pliku wp-login.php (lub functions.php), na samym końcu dodać linijkę:

wp_set_password('nowe_nasło',ID_użytkownika);

W przypadku użytkownika z ID „1” i nowego hasła „123456” będzie to wyglądało tak:

wp_set_password('123456',1);

Pamiętajcie tylko by na koniec skasować ten zapis z pliku.

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Kurs "WordPress: Pierwsze kroki" (na dobry początek)
Patryk
Kurs "WordPress: Pierwsze kroki" (bezpłatna lekcja)