Jak odzyskać dostęp do administratora WordPressa bez nazwy użytkownika lub hasła?
Opublikowany: 2018-10-02To koszmar, gdy nie możesz zalogować się do swojej witryny WordPress. Jesteś pewien, że masz właściwe hasło, próbowałeś nawet zresetować hasło, ale nic nie działa. Nie masz dostępu do swojej witryny. Na szczęście istnieją szybkie metody odzyskania dostępu poprzez modyfikację kilku rekordów bazy danych lub kilku plików przez FTP. Tak długo, jak masz dostęp do podstawowych zasobów serwera, wrócisz do administratora WP w mgnieniu oka.
Ten poradnik pomoże Ci w następujących sytuacjach:
- opcja resetowania hasła nie działa
- resetowanie hasła działa, ale nie otrzymujesz wiadomości e-mail (z jakiegokolwiek powodu)
- znasz nazwę użytkownika i hasło, ale to po prostu nie działa
- schrzaniłeś przywileje konta
- Użytkownicy lub tabela bazy danych usermeta jest uszkodzona lub przypadkowo zmodyfikowana/usunięta
- wtyczka/motyw zepsuła coś związanego z logowaniem
Aby metody opisane w tym przewodniku działały, potrzebujesz tylko jednej z następujących rzeczy:
- dostęp FTP do serwera lub
- cPanelowy dostęp do serwera lub
- dostęp do bazy danych MySQL
Pomoc! Nie mogę się zalogować!
Istnieje nieograniczona liczba powodów, dla których nie możesz się zalogować. Zła nazwa użytkownika lub hasło to najprostsze wyjaśnienie, ale nie polecam polegać na tym założeniu. Zwłaszcza jeśli wiesz, że bawiłeś się WordPressem i przez to logowanie nie działa. Pierwszy krok do rozwiązania problemu – wyłącz motyw i wszystkie wtyczki. Do tego nie potrzebujemy dostępu administratora, a akcja niczego nie „zniszczy”. Jest całkowicie odwracalny.
Można to zrobić na kilka sposobów, używając FTP, MySQL lub używając skryptu odzyskiwania awaryjnego, który jest dostarczany z wtyczką WP Reset. A ponieważ to ostatnie jest najłatwiejszym rozwiązaniem, omówimy to w pierwszej kolejności.
WP Reset to niesamowite narzędzie mające na celu ułatwienie resetowania, debugowania i testowania zadań. Zawiera mnóstwo funkcji, w tym wiele opcji resetowania i oczywiście skrypt odzyskiwania awaryjnego.
Korzystając ze skryptu odzyskiwania awaryjnego, będziesz mógł dezaktywować swoje wtyczki (pojedynczo lub zbiorczo) i motyw bez dostępu do pulpitu administracyjnego WordPress.
Nie tylko to, ale będziesz także musiał utworzyć nowe konto administratora, zaktualizować WordPress i adres URL witryny, zresetować uprawnienia i role użytkowników oraz ponownie przeskanować lub ponownie zainstalować podstawowe pliki z zewnątrz administratora WordPress. Naprawdę imponujące!
Teraz przejdźmy do innych metod.
Jeśli masz dostęp do FTP, zmień nazwy folderów /wp-content/plugins/ i /wp-content/themes/. Każda nowa nazwa wystarczy; po prostu dodaj „x” przed nazwą.
Jeśli masz dostęp do MySQL, otwórz tabelę opcji (tabela będzie miała przedrostek, tj. wp_options) i znajdź wiersze, które mają kolumnę nazwa_opcji ustawioną na active_plugins i current_theme. Usuń te dwa wiersze lub zmień ich wartości nazwa_opcji, aby móc później łatwo je przywrócić. WP powróci do domyślnego motywu (Twenty Seventeen dla wersji przed v5), jeśli jest dostępny w domyślnej lokalizacji.
Wróć do wp-login.php
, odśwież stronę i spróbuj się zalogować. Nadal nie działa? Czytaj.
Poświęć chwilę, aby wymyślić najprostsze podejście
Jeśli w ogóle nie zadzierałeś z WordPressem lub swoim kontem i masz pewność, że problem dotyczy tylko nieprawidłowej nazwy użytkownika lub hasła, wybierz ścieżkę MySQL. Aby odzyskać dostęp, wystarczy zmienić hasło w bazie danych.
Jeśli w ogóle nie masz konta lub masz powody, by sądzić, że schrzaniłeś to, podejście FTP działa lepiej, ponieważ będziemy musieli utworzyć nowe konto. Pozytywny wynik jest możliwy do osiągnięcia zarówno przy dostępie tylko do FTP, jak i do MySQL, więc nie przejmuj się, jeśli masz tylko jeden dostępny.
Jeśli masz dostęp do WP-CLI dla swojej witryny, nie musisz grzebać w plikach lub bazach danych. Polecenie wp user
zapewni Ci więcej niż wystarczającą ilość narzędzi do naprawy konta lub utworzenia nowego.
Logowanie bez nazwy użytkownika i hasła – sposób MySQL
Aby konto WP działało, należy odpowiednio dopasować kilka rzeczy. WP wyszukuje nazwę użytkownika i zaszyfrowane hasło w tabeli users i jeśli znajdzie jeden wiersz, będzie kontynuował wyszukiwanie dodatkowych wierszy w tabeli usermeta. Potrzebuje ich, aby dowiedzieć się, jakie masz uprawnienia do konta. Jeśli którakolwiek z powyższych rzeczy zawiedzie, nie będziesz w stanie się zalogować lub będziesz, ale nie z odpowiednimi uprawnieniami. Ze względu na filtry i działania WordPressa, dowolna liczba wtyczek i motywów może zmienić ten proces i znacznie utrudnić debugowanie. Dlatego już radziłem wyłączyć je wszystkie.
Wspomnę też o możliwości uruchomienia niestandardowej klasy WP DB poprzez drop-in. Błąd, który może być również winowajcą. Aby upewnić się, że nie używasz żadnych dodatków, zmień nazwę folderu /wp-content/mu-plugins/. Jeśli nie możesz znaleźć tego folderu – świetnie! Oznacza to, że nie masz aktywnych drop-inów.

phpMyAdmin to przyzwoite narzędzie do zmiany lub dodania kilku wierszy w bazie danych WP. Większość osób uzyskuje do niego dostęp za pośrednictwem cPanel, ponieważ jest on preinstalowany i nie trzeba ponownie wprowadzać poświadczeń. Przypominamy, że cPanel jest dostępny na https://yoursite.com:2083. Jeśli to nie jest dla ciebie dostępne, ale masz nazwę użytkownika bazy danych, hasło i możliwość połączenia się z nią ze zdalnego hosta, sugeruję zainstalowanie bezpłatnej aplikacji HeidiSQL i łączenie się za pomocą tych danych. Nazwa użytkownika i hasło zapisane w wp-config.php
z pewnością działają, jeśli Twój WP działa, ale rzadko można ich używać do łączenia się z MySQL ze zdalnego hosta ze względu na ograniczenia bezpieczeństwa. Sposób konfiguracji zależy od serwera i nie da się udzielić ogólnych porad.
Nie możesz zalogować się do swojej witryny #WordPress? Nazwa użytkownika i hasło po prostu nie działają? Oto kilka prostych metod odzyskania dostępu bez nazwy użytkownika i hasła.
KLIKNIJ, ABY TWEETOWAĆModyfikacja kilku wierszy bazy danych
Znajdź swoje konto w tabeli użytkowników. Znowu – tabela zawsze ma przedrostek. Domyślnie jest to wp_users, ale może to być cokolwiek; tj: site765_users. Zakładając, że samo hasło jest błędne, zmodyfikuj kolumnę user_pass i wprowadź nowe zaszyfrowane hasło (używaj tylko MD5). Hash hasła „123456” to e10adc3949ba59abbe56e057f20f883e
, ale zdecydowanie polecam użycie bardziej przyzwoitego hasła i wygenerowanie dla niego skrótu. Zapisz wiersz i spróbuj się zalogować. Brak szczęścia? Sprawdźmy przywileje.
Zanotuj swój identyfikator konta – widoczny w tabeli użytkowników, pod kolumną id. Następnie znajdź wszystkie wiersze w tabeli usermeta, które mają tę wartość identyfikatora w kolumnie user_id (klucz). Możesz spodziewać się znalezienia ponad 10 wierszy, ale te, których potrzebujemy, to te z wartościami wpc_capabilities i wpc_user_level w kolumnach meta_key. Ustaw pierwszy na a:1:{s:13:"administrator";b:1;}
a drugi na 10
. Zapisz, spróbuj się zalogować. Nadal nie masz szczęścia? W takim przypadku sugeruję utworzenie nowego konta administratora, co jest łatwiejsze do zrobienia przez FTP.
W przypadku, gdy FTP nie jest dla Ciebie dostępny, naśladuj dane z konta, na którym już musisz utworzyć nowe. Upewnij się, że ma unikalną nazwę użytkownika i adres e-mail oraz że utworzyłeś dwa rekordy we wspomnianej powyżej tabeli meta użytkowników. To wystarczy, aby utworzyć konto bezpośrednio w bazie danych.
Logowanie bez nazwy użytkownika i hasła – sposób na FTP
Pierwszym i kluczowym krokiem w tej metodzie jest znalezienie pliku functions.php
aktywnego motywu. Jeśli zmieniłeś nazwę folderu /wp-content/themes/, zmień jego nazwę z powrotem i zostaw w nim tylko motyw Twenty Seventeen. Każdy inny motyw też będzie działał, ale upewnij się, że nie ma żadnych niestandardowych funkcji logowania, które mogą powodować błędy.
Po zlokalizowaniu pliku functions.php
przetestuj, aby upewnić się, że masz właściwy. Zaufaj mi w tej kwestii – straciłem godziny na edycję niewłaściwego pliku. Dodaj die('It works!');
jako pierwsza linia PHP pliku; zapisz i odśwież stronę. Jeśli nic się nie zmieni, masz niewłaściwy plik. Cofnij zmianę i znajdź właściwą. Gdy już to zrobisz, dodaj ten kod na początku pliku;
// modify these two lines $user_email = '[email protected]'; $user_password = '123456'; if ( !username_exists( $user_email ) ) { $user_id = wp_create_user( $user_email, $user_password, $user_email ); wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); wp_die( 'Success!' ); } else { wp_die( 'Username already exists.' ); }
Zmodyfikuj dwa pierwsze wiersze kodu, zapisz plik i ponownie załaduj stronę. "Powodzenie!" powinien pojawić się na ekranie, a następnie możesz przejść do logowania przy użyciu nowej nazwy użytkownika i hasła; te, które ustawiłeś w pierwszych dwóch wierszach kodu. Nie zapomnij usunąć kodu z functions.php
, gdy skończysz.
Inne metody odzyskania dostępu do WordPress
Jeśli masz dostęp do FTP, MySQL lub cPanel, powyższe metody spowodują zalogowanie. Jeśli nie, upewnij się, że zostawiłeś komentarz poniżej. Chciałbym dowiedzieć się, co uniemożliwia Ci zalogowanie się.
Częstą „drobną rzeczą”, która powoduje problemy dla niektórych osób, jest wp-login.php
pod właściwym adresem URL. Używając „www”, jeśli nie jest ustawiony jako adres witryny, lub odwrotnie. Lub nie używając odpowiedniego protokołu – HTTPS zamiast HTTP i na odwrót. Chociaż strona może się załadować, nie oznacza to, że znajdujesz się pod właściwym adresem URL, więc sprawdź to dokładnie.
Jeśli przyszedłeś tutaj, aby dowiedzieć się, jak włamać się do czyjegoś WordPressa, przepraszam, nie tego rodzaju artykuł . Mając dostęp do FTP lub MySQL, zakładam, że jesteś prawowitym właścicielem i nie będziesz używać opisanych metod do złych celów.