Reset hasła administratora w Wordpresie

.

Hasło administratora w Wordpresie nie jest w żadnym stopniu lepiej chronione niż te użytkowników o mniejszych przywilejach. Może się więc zdarzyć, że pewnego dnia administrator nie będzie w stanie zalogować się przy pomocy dotychczasowych danych. Nienijszy wpis ma na celu pokazać jak ustawić hasło administratora bloga spoza panelu administracyjnego.

Administrator w systemie WordPress ma nieograniczone możliwości wprowadzania zmian na blogu. Oznacza to, że jeżeli ktoś złamie jego hasło, praktycznie przejmie pełną kontrolę nad witryną. Przy słabym haśle zadanie wcale nie musi być bardzo trudne do wykonania. Utrata hasła może przydarzyć się także w innych okolicznościach, natomiast jego odzyskanie bywa problematyczne.

Hasła w nowych wersjach WordPressa są nieco bardziej skomplikowane niż miało to miejsc wcześniej. Do ich tworzenia i sprawdzania służy klasa class-phpass.php, która znajduje się w katalogu wp-includes/. Końcowe funkcje, które korzystają z metod instancji wyżej nadminionej klasy, to między innymi wp_hash_password, oraz wp_set_password. Obie je można znaleźć w pliku wp-includes/pluggable.php.

Funkcja wp_hash_password przyjmuje jeden argument, którym jest ciąg znaków i zwraca go w zakodowanej formie.

Funkcja wp_set_password służy do zapisania zakodowanego hasła w bazie danych Wordpresa.

Przechodząc do meritum, istnieje co najmniej kilka metod ustawienia nowego hasła dla administratora bloga opartego na Wordpresie. Poniżej przedstawiam dwie łatwiejsze do przeprwadzenia.

Pierwszym sposobem jest wykorzystanie funkcji wp_set_password w pliku functions.php

Ustawienie nowego hasła dla administratora bloga w tym przypadku odbywa się jak następuje.


wp_set_password('moje_nowe_haslo',1);

Kod pownien zostać umiesczony w pliku functions.php.

Po wykonaniu zapytania do serwera, funkcję należy wykasować i spróbować się zalogować. Wykonanie czynności w odwrotnej kolejności nie zadziała.

Innym sposobem na odzyskanie hasła administratora jest jego wygenerowanie z pomoca funkcji wp_hash_password i przesłanie na skrzynkę email.

Kod poniżej pownien zostac umieszczony w pliku functions.php.


wp_mail( 'twoj@email', 'hasło',wp_hash_password('twoje_nowe_hasło'));

Po odebraniu wiadomości z nowym zaszyfrowanym hasłem należy wstawić je do bazy danych. Dane o użytkownikach Wordpresa przechowywane są w tabeli wp_users (zakładam domyślny prefix tabel).
Korzystają z phpMyAdmin należy znaleźć rekord administratora ( użytkownik o ID = 1 ) i zaktualizować pole o nazwie user_pass tabeli użytkoników.

Po otrzymaniu email należy usunąć kod generujący i wysyłające hasło z pliku functions.php.

Wykonawszy aktualizację danych, należy zalogować się do panelu administracyjnego jako administrator i korzystając z formularza edycji profilu w zakładce użytkowników zmienić własne hasło na nowe. Jest to konieczne ( poprzednie hasło zostało przesłane na skrzynkę w postaci zwykłego tekstu ).

W obu przypadkach blog nie pownien być dostępny dla odiwedzających do mementu ustawienia poprawnego hasła dla jego administratora.


Komentarze ( 2 )


Hmmm, przecież łatwiej po prostu zmienić hasło w bazie danych używając hasha (phpmyadmin ma taką funkcję).


Tak, można. Stwierdziłem jednak, że ten sposób niewiele mówi o tym jak działa Wordpress. Skoro jednak słowo się rzekło. W konsoli phpMyAdmina wystarczy wpisać: update wp_users set user_pass = md5('nowe_haslo') where ID = 1;


Twój komentarz





Niektóre tagi XHTML są dozwolone
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>