← Wszystkie porady

Domyślny prefiks tabel bazy danych (wp_)

Co to oznacza

WordPress domyślnie nazywa wszystkie tabele w bazie danych z prefiksem wp_ (np. wp_users, wp_options, wp_posts). Jeśli Twoja instalacja korzysta z tego domyślnego prefiksu, ułatwiasz atakującemu pracę w przypadku podatności SQL Injection. Sprawdź wartość zmiennej $table_prefix w pliku wp-config.php.

Prefiks tabel jest definiowany w pliku wp-config.php zmienną $table_prefix i jest ustawiany podczas instalacji WordPress.

Jakie jest ryzyko

  • Ułatwienie ataków SQL Injection — jeśli atakujący znajdzie podatność SQL Injection w którejś z wtyczek, domyślny prefiks oznacza, że zna dokładne nazwy tabel. Może od razu targetować wp_users po dane logowania.
  • Zautomatyzowane exploity — większość publicznych exploitów SQL Injection na WordPress zakłada prefiks wp_. Niestandardowy prefiks sprawia, że gotowe skrypty ataku nie zadziałają bez modyfikacji.
  • Dodatkowa warstwa ochrony — zmiana prefiksu to element strategii „defense in depth". Sama w sobie nie zatrzyma zdeterminowanego atakującego, ale utrudnia automatyczne ataki.

Uwaga: zmiana prefiksu to ochrona uzupełniająca. Nie zastępuje aktualizacji, silnych haseł i poprawnej konfiguracji.

Jak to naprawić

Zmiana prefiksu na istniejącej stronie wymaga ostrożności:

  1. Wykonaj kopię zapasową bazy danych — przed jakąkolwiek zmianą.
  2. Zmień prefiks w wp-config.php:
    $table_prefix = 'nst_'; // dowolny prefiks zamiast wp_
    
  3. Zmień nazwy tabel w bazie danych — za pomocą SQL:
    RENAME TABLE wp_posts TO nst_posts;
    RENAME TABLE wp_users TO nst_users;
    -- powtórz dla każdej tabeli
    
  4. Zaktualizuj referencje w tabelachwp_options i wp_usermeta zawierają wartości z prefiksem w kolumnach option_name i meta_key.
  5. Alternatywa: użyj wtyczki — narzędzia jak Brozzme DB Prefix automatyzują cały proces.

Najlepszy moment na zmianę prefiksu to instalacja WordPress — wpisz niestandardowy prefiks w kreatorze instalacji.