Zmiana Prefiksu tabel bazy danych (Tutorial WordPress)

Naprawa Błędów na stronach internetowych WordPress

Prefiks tabel bazy danych w WordPress to przedrostek występujący przed główną nazwą danej tabeli. Jego domyślne ustawienie, a właściwie brak zmiany to dość popularny błąd, który dzisiaj postaram się rozwiązać.

[toc]

Baza danych WordPress zawiera wszystkie informacje wymagane do jej funkcjonowania, a więc całą zawartość tekstową, opcje, klucze licencyjne i ustawienia. Nawet z pozoru niewielka zmiana może być tragiczna w skutkach. Wszystko zależy oczywiście od tego w jaki sposób i do czego atakujący tej bazy danych potrzebuje.

Zobacz Film VIDEO (Zmiana wtyczką)

Dlaczego powinieneś zmienić prefiks bazy danych w WordPress?

Przede wszystkim największym problemem domyślnego prefiksu bazy danych wp_ jest to, że jest on… domyślny.

Chodzi mi o to, że każdy wie jaki on jest i w pierwszej kolejności, aby przeprowadzić atak lub wyciągnąć informacje z bazy danych będzie próbował pobierać dane właśnie z tabel wp_users, wp_post, wp_options itd.

Przykładowe wykorzystywanie tej luki w zabezpieczeniach

  • Atakujący może dowolnie zmieniać wpisy, w tym je usuwać, ale też (co się często zdarza) dopisywać złośliwy kod,
  • Atakujący może dowolnie zmieniać użytkowników – ich uprawnienia, hasła, ustawienia, ale też dodawać własnych o dowolnych uprawnieniach,
  • Atakujący uzyska dostęp do ukrytej domyślnie zawartości takiej jak np. wpisy prywatne czy strukturę katalogu mediów, nazwy plików i ich lokalizacje,
  • W przypadku sklepów może dowolnie zmieniać zamówienia, zmieniać im statusy, zawartość i inne atrybuty
  • Uzyskuje pełen dostęp do danych klientów, adresy email komentujących czy osoby zapisane na newsletter (jeżeli korzystasz z wtyczki),
  • Dostęp do kluczy licencyjnych i danych do połączenia z aplikacją zewnętrzną może mu posłużyć do wysyłania spamu, pozbawienia Ciebie licencji na dane rozwiązanie i wiele innych.

Dwa ostatnie punkty zdecydowanie narażą Ciebie na nieprzyjemności związane z rozporządzeniem RODO, gdyż brak zmiany domyślnego ustawienia jest sprzeczny z zapisem wymagającym dołożenia należytej i maksymalnie możliwej staranności w ochronie danych.

Pomyśl o tym
Wystarczy zmienić prefiks bazy danych, aby się uchronić przed takimi niespodziankami.

Bezpieczny prefix w WordPress – czyli jaki?

Przede wszystkim nieoczywisty tzn. nic co łatwo można zgadnąć jak np. wordpress_, nie zawierający nazwy domeny i losowy. Zdecydowanie zalecam prefiks dwuczęściowy np. u89e_d2_ lub jak w dalszych przykładach sec_prefix_.

Zmiana prefiksu bazy danych: Ręcznie

Aby zmienić prefiks bazy danych bez użycia wtyczki, należy zalogować się do panelu zarządzania bazą danych np Adminer lub phpMyAdmin i otworzyć bazę danych, w której znajduje się WordPress.

W pierwszym kroku należy zmienić nazwy wszystkich tabel, zamieniając domyślny prefiks na nowy, jednak przy dużej ilości tabel będzie to zadanie czasochłonne, ale i na to znajdzie się rozwiązanie.

Będąc w phpMyAdmin lub Adminer (zrzuty poniżej) kliknij w SQL/Zapytanie SQL o następującej treści zmieniając pierwsze trzy atrybuty wg ustawień serwera:

SET @database   = "nazwaBazyDanych"; 
SET @old_prefix = "stary_prefix_"; 
SET @new_prefix = "nowy_prefix_";
   SELECT
    concat(
        "RENAME TABLE ",
        TABLE_NAME,
        " TO ",
        replace(TABLE_NAME, @old_prefix, @new_prefix),
        ';'
    ) AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Zostanie wygenerowana lista wszystkich tabel wraz z listą komend.

Zmiana prefiksu bazy danych w WordPress (adminer i phpmyadmin)
Zapytanie SQL w bazie danych, które wygeneruje komendę do zmiany prefiksu

Skopiuj poniższe komendy i wklej w to samo okno wydawania poleceń SQL.

Zmiana prefixu bazy danych WordPress (adminer i phpmyadmin)
Gotowa komenda dla zmiany prefixu tabel

W efekcie zostaną zmienione wszystkie tabele.

zapytanie sql do zmiany prefiksu bazy danych wordpress
Zapytanie do BD zostało zakończone pomyślnie

W phpMyAdmin wygląda to odrobinę inaczej, nad listą wygenerowanych tabel należy kliknąć „opcje” i wybrać „Pełne teksty” zatwierdzić i wywołać komendę jeszcze raz – w innym przypadku tekst komend będzie ucięty i wywoła błędy.

Zmiana prefiksu bazy danych w WordPress poprzez phpmyadmin

Na końcu pozostała zmiana prefiksu bazy danych w pliku wp-config.php (plik znajduje się w głównym katalogu instalacji) tak jak poniżej:

zmiana prefiksu bazy danych w pliku wp-config.php
Zmiana prefiksu tabel w wp-config.php (zawierającym główne ustawienia WP)

W przypadku braku dokonania tej zmiany WordPress wyświetli informacje o braku możliwości połączenia z bazą danych, gdyż nie znajdzie tabel.

Zmiana prefiksu bazy danych: wtyczka

Istnieje prosta wtyczka do zmieniania prefiksu bazy danych i wymaga jedynie instalacji, aktywacji oraz dokonania zmiany, aby na końcu ją usunąć. Wystarczy skorzystać z wtyczki

WP Prefix Changer

co prezentuje na poniższym video:

Zmiana prefixu bazy danych w WordPress – Poradnik

Wtyczka ułatwia pracę o tyle, że wszystko wykonuje za nas, ale musimy być ostrożni i z uwagi na to, że baza danych może (choć nie musi) ulec uszkodzeniu koniecznie wykonaj kopię zapasową przed rozpoczęciem jakichkolwiek zadań!

Gdy już wiesz jak zmienić prefiks tabel bazy danych w WordPress podziel się swoją opinią w komentarzu lub udostępnij innym :)

5/5 - (2 votes)
dHosting najlepszy serwer dla wordpress i nie tylko
Powiązane tematy: Branża Uniwersalna WordPress

Na stronie mogą znajdować się linki polecające (affiliacyjne), które pozwalają utrzymać bloga. Zakup z mojego polecenia nie generuje dla Ciebie dodatkowych kosztów, a ja otrzymam prowizje od kwoty zapłaconej.

Jeden komentarz dla "Zmiana Prefiksu tabel bazy danych (Tutorial WordPress)"

  1. Avatar autora komentarza Janusz Kamiński
    Janusz Kamiński

    Także zmieniam prefix dla BD. Dobra instrukcja. ;)

Przyłącz się do dyskusji