Jesteś administratorem i zdarzyło Ci się kiedyś zapomnieć hasła do WordPress? A może nie przychodzi do Ciebie e-mail z formularza przypominania hasła? Nie możesz się zalogować ani przypomnieć sobie hasła i nie masz dostępu do plików na serwerze? Żaden problem! W tym wpisie pokażę Tobie jak zresetować hasło do WordPress z poziomu edycji w bazie danych. Zaczynamy!
Istota problemu
Każdemu zdarza się zapomnieć hasła. Jego odzyskanie w WordPress zazwyczaj nie stanowi problemu i jest możliwe na kilka sposobów. Najczęściej wystarczy na stronie logowania skorzystać z opcji przypominania hasła. Są jednak przypadki, gdy taka opcja nie jest możliwa.
Formularz przypominania hasła przyda się jedynie, gdy masz dostęp do skrzynki e-mail przypisanej do konta WordPress. Gdy straciłeś dostęp do poczty lub nie pamiętasz/nie wiesz na który adres założone jest konto, to nie będziesz w stanie kliknąć w link potwierdzający zmianę hasła. Innym czarnym scenariuszem jest sytuacja, w której Twoje konto admina zostaje przejęte w wyniku ataku hakerskiego. Haker może zmienić nie tylko Twoje hasło, ale i adres e-mail.
Co prawda nie jest to częsty przypadek, ale może się przytrafić każdemu. Gdy nie masz dostępu do swojego konta, najprostszą metodą jest zmiana hasła w bazie danych.
Jak zresetować hasło do WordPress
Aby zresetować hasło użytkownika bez dostępu do jego adresu e-mail, potrzebujesz uprawnień do edycji bazy danych. W zależności od hostingu jaki posiadasz, opcja logowania do bazy danych będzie się znajdowała w różnych miejscach.
Edycji bazy danych dokonasz za pomocą phpMyAdmin. Przejdź do tego narzędzia i zaloguj się do bazy danych swojego WordPress. Potrzebujesz do tego nazwy bazy danych oraz hasła. Znajdziesz je np. w pliku wp‑config.php w głównym katalogu WordPress na serwerze.
Po zalogowaniu, przyjrzyj się strukturze bazy danych. W większości przypadków prefixy wszystkich tabel zapisane są jako wp_ ale nie zawsze jest to regułą. Niektóre instalacje WordPress posiadają indywidualne przedrostki nazw tabel w bazie danych. Niemniej jednak, zakładając standardowe ustawienia, odszukaj tabeli wp_users. Przechowywane są w niej dane wszystkich użytkowników WordPress.
Wejdź do tabeli (klikając na jej nazwę w drzewie tabel po lewej stronie ekranu lub klikając przycisk „Przeglądaj”. Odszukaj pozycji z nazwą użytkownika któremu chcesz zmienić hasło i kliknij przycisk „Edytuj”.
W kolumnie ID, odszukaj pozycji o nazwie user_pass. Zauważysz w tym wierszu dziwny ciąg cyfr i znaków. To Twoje hasło, tyle że zakodowane.
Aby zmienić hasło logowania, wystarczy że wymażesz ten ciąg znaków i wpiszesz zwykłym tekstem swoje nowe hasło. Ale dla swojego bezpieczeństwa, w kolumnie „Funkcja” ustaw szyfrowanie hasła na MD5. Dzięki temu, Twoje nowe hasło zostanie zaszyfrowane w formacie, który jest obsługiwany przez WordPress.
Na samym końcu, zostało Ci już tylko przewinąć stronę do samego dołu i kliknąć przycisk „Wykonaj”.
Twoje hasło zostało zmienione. Możesz teraz normalnie zalogować się do WordPress!
Jak zmienić hasło do WordPress bez dostępu do bazy danych?
Zmiana hasła użytkownika poprzez edycję rekordu w bazie danych to nie jedyna opcja. W przypadku, gdy posiadasz dostęp do serwera (np. przez protokół FTP) też jest to możliwe. Sytuacja ta zdarza się niejednokrotnie, gdy np. ktoś poprosi Cię o przejęcie opieki nad stroną, ale sam nie ma konta z uprawnieniami administratora. Uwierz mi lub nie, ale często firmy lub agencje budujące strony, przekazują swoim Klientom konta z ograniczonymi uprawnieniami. Tak profilaktycznie, żeby Klient nic nie zepsuł. Gdy jednak kontakt z firmą/agencją/freelancerem się urywa, to Klient zostaje bez możliwości instalacji wtyczek lub zmiany ustawień.
Jak zatem zmienić hasło admina, gdy nie masz dostępu do bazy danych a jedynie dostęp do plików WordPress na serwerze? O tym napiszę w kolejnym wpisie!