Kurs "WordPress: Pierwsze kroki" (na dobry początek)

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 | Lub postaw nam 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" (bezpłatna lekcja)
Patryk
Kurs "WordPress: Pierwsze kroki" (bezpłatna lekcja)