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.
Spis treści w artykule
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:
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:
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:
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.:
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";
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”:
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";
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;
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”.
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.
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01