W internecie jest pełno poradników na temat WordPressa. Pełno też poradników typu „100 wtyczek, które musisz mieć, choć pewnie większości z nich nie potrzebujesz” czy też „101 sposobów na zabezpieczenie WordPressa”. Pierwsze są o tyle bzdurne, że to jakich wtyczek faktycznie potrzebujemy, zależy od tak wielu czynników, że ciężko określić taki uniwersalny zestaw, a zarazem wrzuca się tam takie potworki jak Yoast SEO czy WP Super Cache – wtyczki może nawet spoko, ale w większości używane w zły sposób, przez użytkowników, którzy nie wiedzą choćby tego, jak je poprawnie skonfigurować (dlatego np. do keszowania zalecam wtyczkę Cache Enabler, a do SEO… w większości przypadków można olać to – serio ;-)). Co do bezpieczeństwa, to słusznie pojawia się zazwyczaj temat innej nazwy administratora niż admin (oprócz zmiany na inną warto też pamiętać, by zmienić pseudonim), oraz zmiany prefiksu tabeli w bazie danych. Totalny absurd.

WP-CLI Rename Database Prefix

Nie wiem, jak powstał ten temat, ale co i raz ktoś stara mi się „wytłumaczyć”, że dla bezpieczeństwa powinienem tak zrobić. Ale jak dopytam o szczegóły, przed czym niby taka zmiana miałaby mnie uchronić, wtedy zazwyczaj następuje cisza. Czasem jednak ktoś rzuci coś o tym, że jakaś „zła wtyczka” mogłoby „coś tam w bazie danych”, i niby inny niż standardowy prefiks tabeli miałby mnie przed tym uchronić.

Problem w tym, że jeśli coś ma dostęp do WordPressa, to ma dostęp do bazy danych, nieżalenie od używanego prefiksu. Jak ma dostęp do plików, to choćby z pliku wp-config.php odczyta nie tylko login i hasło do bazy danych, ale i prefiks tabel.

Jedyny sens, jaki widzę w zmianie prefiksu, to sytuacja gdy z jakichś przyczyn (n. ograniczona liczba baz danych w hostingu) w jednej bazie danych chcemy trzymać kilka niezależnych stron.

I tak w weekend przenosiłem „do siebie” trzy strony nowego klienta. W samym WordPressie pierdolnik (co problem to wtyczka, czasem nawet te wtyczki dublowały swoje funkcje), ale prefiks bazy danych zmieniony. Patrząc na to jak były „administrowane” strony, zakładam, że w tym przypadku nikt nie myślał o bezpieczeństwie, a po prostu autoinstalator tak zainstalował WordPressa.

W każdym razie jedną z pierwszych rzeczy, którą zrobiłem  podczas przenoszenia, było przywrócenie oryginalnego/domyślnego prefiksu. W czym świetnie sprawdził się pakiet WP-CLI (polecam) i dodatek „WP-CLI Rename Database Prefix”, który instalujemy – gdy już mamy na serwerze WP-CLI – za pomocą polecenia:

wp package install iandunn/wp-cli-rename-db-prefix

W następnym kroku wystarczy – będąc w katalogu z WordPressem – skorzystać z polecenia:

wp rename-db-prefix <new_prefix>

W moim przypadku było to:

wp rename-db-prefix wp_

Oczywiście można z tego skorzystać również do zmiany standardowego prefiksu na inny, tylko po co?!? ;-)

(!) Zgłoś błąd na stronie