Domyślnie WordPress dodaje do tabel przedrostek wp_. Oczywiście podczas instalacji możemy go zmienić. Jeśli jednak tego nie zrobimy, to nadal możemy to wykonać i to na dwa sposoby, które dokładnie omówię w tym poradniku. Pierwszy sposób z użyciem wtyczki jest znacznie prostszy i szybszy. Drugi jest dla bardziej zaawansowanych użytkowników, którzy wolą wykonać to samodzielnie. W artykule wyjaśnię także, dlaczego należy zmienić domyślny prefiks i czy pozostawienie go jest bezpieczne. Zobacz jak zmienić prefiks tabel bazy danych i zabezpiecz swojego WordPressa 🙂
Spis treści
Dlaczego należy zmienić prefiks
WordPress do prawidłowego działania potrzebuje dostępu do bazy danych, która zawiera treść wpisów, stron, informacje o użytkownikach, klucze licencyjne oraz wszelkie inne ustawienia. Informacje zawarte w bazie danych są zgrupowane w tabelach. Każda z tabel ma swoją nazwę poprzedzoną przedrostkiem. Domyślnie jest to wp_.
Codziennie nasza strona narażona jest na różnego rodzaju ataki. Jednym z nich jest SQL Injection, który polega na wstrzyknięciu szkodliwego zapytania SQL, co może skutkować m.in. wyciągnięciem wrażliwych danych z bazy przez agresora. Jedną z linii obrony jest właśnie zmiana domyślnego prefiksu dla tabel. W ten sposób utrudniamy dostęp osobom postronnym do naszej bazy.
Zmieniamy prefiks za pomocą wtyczki
Pierwszy sposób jest bardzo prosty i sprowadza się do kilku kliknięć. Jednak przed przystąpieniem do zmiany prefiksu należy na wszelki wypadek wykonać pełną kopię zapasową strony. Zapraszam do poradnika, w którym pokazuję jak wykonać kopię za pomocą wtyczki UpdraftPlus.
Jak już wykonamy kopię, należy przejść do oficjalnego repozytorium wtyczek i zainstalować dodatek All In One WP Security & Firewall.
Jest to dość rozbudowana wtyczka służąca do kompleksowego zabezpieczenia WordPressa, którą mogę polecić. Jedną z opcji jest zmiana prefiksu. W repozytorium są jeszcze inne wtyczki, które służą tylko do zmiany prefiksu. Jednak nie były one aktualizowane od dłuższego czasu (stan na 25.07.2021 r.), dlatego ich nie polecam.
Po zainstalowaniu i aktywacji wtyczki przejdź do jej ustawień WP Security -> Database Security.
- Current DB Table Prefix – w tym miejscu jest wyświetlany aktualny prefiks.
- Generate New DB Table Prefix – możesz wygenerować prefiks automatycznie (w tym celu zaznacz checkbox 'Check this if you want the plugin…’) lub możesz samodzielnie go wpisać w polu input. Na powyższym przykładzie ręcznie wpisałam prefiks.
Po wpisaniu prefiksu kliknij przycisk Change DB Prefiks. Następnie zostaniesz poinformowany o poprawnej zmianie.
Jeśli nie chcesz korzystać z wtyczki All In One WP Security & Firewall, po prostu odinstaluj ją po zmianie prefiksu.
Zmieniamy prefiks bez użycia wtyczki
Sposób ten jest nieco trudniejszy. Musisz mieć login i hasło do bazy danych, a także link do panelu zarządzania nią (np. phpMyAdmin). Login i hasło znajdziesz w pliku wp-config.php, natomiast link do logowania powinien być w panelu hostingowym (może on być w różnym miejscu w zależności od wybranego dostawcy).
Po zalogowaniu do panelu zarządzania bazą wybierz daną bazę i zaznacz wszystkie tabele. Następnie z rozwijalnego menu wybierz opcję Prefiks -> Zamień przedrostek tabeli.
W nowym oknie w pierwszym polu wpisz stary prefiks, czyli wp_. W drugim polu wpisz nowy prefiks i kliknij przycisk Kontynuuj.
Od tej pory tabele mają już nowy prefiks. Jednak to jeszcze nie koniec zmian. W niektórych ustawieniach przechowywanych w Twojej bazie WordPress nadal odwołuje się do tabel ze starym prefiksem. Skopiuj poniższy kod do panelu phpMyAdmin do zakładki SQL i zastąp frazę 'nowyprefiks’ nowym, wybranym prefiksem.
update nowyprefiks_usermeta set meta_key = 'nowyprefiks_capabilities' where meta_key = 'wp_capabilities';
update nowyprefiks_usermeta set meta_key = 'nowyprefiks_user_level' where meta_key = 'wp_user_level';
update nowyprefiks_usermeta set meta_key = 'nowyprefiks_autosave_draft_ids' where meta_key = 'wp_autosave_draft_ids';
update nowyprefiks_options set option_name = 'nowyprefiks_user_roles' where option_name = 'wp_user_roles';
Następnie kliknij przycisk Wykonaj. Teraz została tylko zmiana w pliku wp-config.php. Plik ten znajdziesz w głównym folderze z instalacją WordPressa.
W miejscu $table_prefix wpisz nowy prefiks.
Hej! Wykonałem powyższe polecenia i niestety nie mogę dostać się do panelu admina. Pokazuje mi się tylko góry pasek nawet bez opcji edycji konta.
Miałem to samo. Zabieg w zakładce SQL, który jest opisany na stronie rozwiązał problem.