Naciśnij Enter, aby wyszukać

WORDPRESS

Jak skutecznie zabezpieczyć stronę na WordPress?

jak zabezpieczyć wordpressa

WordPress to najpopularniejszy system zarządzania treścią (CMS) na świecie, napędzający ponad 40% internetu. Jego popularność jest jednak mieczem obosiecznym – czyni go bowiem głównym celem dla hakerów i botów. Czy wiesz, że większość włamań nie jest celowana w konkretną firmę, ale jest wynikiem zautomatyzowanych skryptów szukających luk w zabezpieczeniach?

Zabezpieczenie strony na WordPressie nie musi wymagać zaawansowanej wiedzy programistycznej. Często wystarczy zmiana nawyków i wdrożenie kilku sprawdzonych rozwiązań. Większość poradników dotyczących bezpieczeństwa WordPressa kończy się na zaleceniu „zainstaluj wtyczkę”. Choć jest to dobra rada dla początkujących, prawdziwe bezpieczeństwo buduje się głębiej – na poziomie konfiguracji serwera i plików systemowych. Jeśli chcesz wejść na wyższy poziom ochrony i zamknąć hakerom furtki, o których istnieniu wielu nie ma pojęcia, ten artykuł jest dla Ciebie.

Przejdziemy przez konkretne modyfikacje plików .htaccess, wp-config.php oraz functions.php, które zamienią Twoją stronę w cyfrową twierdzę.

1. Serce systemu: Zabezpieczanie pliku wp-config.php

Plik wp-config.php to najważniejszy plik w Twojej instalacji. Zawiera dane dostępowe do bazy i klucze szyfrujące. Jego ochrona jest priorytetem.

Zablokuj edycję plików z kokpitu

Domyślnie WordPress pozwala administratorom na edycję plików motywów i wtyczek bezpośrednio w panelu (Wygląd > Edytor plików). To ogromne zagrożenie – jeśli haker włamie się na konto administratora, może wstrzyknąć złośliwy kod bez dostępu do FTP. Aby to wyłączyć, dodaj w wp-config.php:

define('DISALLOW_FILE_EDIT', true);

Ukryj błędy PHP

Wyświetlanie błędów na „żywej” stronie (produkcyjnej) może zdradzić atakującemu ścieżki do plików lub informacje o konfiguracji serwera. Wyłącz to:

define('WP_DEBUG', false);
if ( ! WP_DEBUG ) {
ini_set('display_errors', 0);
}

Zaktualizuj klucze uwierzytelniania (Secret Keys)

To one odpowiadają za szyfrowanie ciasteczek sesji. Jeśli podejrzewasz atak, ich zmiana natychmiast wyloguje wszystkich użytkowników. Wygeneruj nowe klucze tutaj: api.wordpress.org/secret-key/1.1/salt/ i podmień odpowiednie sekcje w wp-config.php.

Może Cię zainteresować: Hosting pod WordPress – ranking na 2025

2. Tarcza ochronna: Magia pliku .htaccess

Plik .htaccess (na serwerach Apache/LiteSpeed) pozwala sterować dostępem do serwera jeszcze zanim WordPress w ogóle „wstanie”.

Zablokuj dostęp do plików systemowych

Nikt z zewnątrz nie powinien mieć prawa podglądać Twojego pliku konfiguracyjnego. Dodaj ten kod do głównego pliku .htaccess:

<FilesMatch "^(wp-config.*\.php|\.htaccess|readme\.html)$">
Order allow,deny
Deny from all
</FilesMatch>

Wyłącz listowanie katalogów

Jeśli w folderze nie ma pliku index.php, serwer może wyświetlić listę wszystkich plików w katalogu – to prezent dla hakera. Zablokuj to jedną linijką:

Options -Indexes

Zabezpiecz folder wp-includes

Folder ten zawiera kluczowe pliki systemowe WordPressa. Użytkownik nie powinien tam niczego uruchamiać bezpośrednio. Utwórz plik .htaccess wewnątrz katalogu /wp-includes/ i wklej:

# Blokada wykonywania skryptów PHP w wp-includes
<FilesMatch "\.(?i:php)$">
Order allow,deny
Deny from all
</FilesMatch>
<Files wp-tinymce.php>
Allow from all
</Files>
<Files ms-files.php>
Allow from all
</Files>

Zablokuj wykonywanie PHP w wp-content/uploads

To tutaj najczęściej trafiają zainfekowane pliki, które udają zdjęcia. Jeśli haker wgra wirusa .php do folderu mediów, nie pozwól mu go uruchomić. Utwórz .htaccess w katalogu /wp-content/uploads/:

# Blokada wykonywania PHP w folderze mediów
# To zapobiega uruchamianiu wirusów ukrytych w plikach
<FilesMatch "\.(?i:php)$">
Order allow,deny
Deny from all
</FilesMatch>

3. Zamknij tylne furtki: XML-RPC i wersja WP

Wyłącz XML-RPC

Protokół ten jest przestarzały i często wykorzystywany do ataków typu Brute Force oraz DDoS. Jeśli nie korzystasz z zewnętrznych aplikacji do publikowania postów, wyłącz go. Możesz to zrobić w functions.php:

add_filter('xmlrpc_enabled', '__return_false');

Lub jeszcze skuteczniej w głównym .htaccess:

<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>

Ukryj wersję WordPressa

Informacja o wersji systemu w kodzie HTML pomaga botom szukać stron z nieaktualnym, dziurawym oprogramowaniem. Dodaj do functions.php:

remove_action('wp_head', 'wp_generator');

4. Baza danych: Zmiana domyślnego prefiksu

Podczas instalacji WordPressa domyślny prefiks tabel to wp_. Zmieniając go na unikalny (np. mojastrona_x9_), utrudniasz ataki typu SQL Injection, które często celują „w ciemno” w domyślne nazwy tabel. Uwaga: Zmianę prefiksu na istniejącej stronie najlepiej przeprowadzić za pomocą wtyczki lub z dużą ostrożnością bezpośrednio w bazie danych, pamiętając o aktualizacji wp-config.php.

Podsumowanie

Wdrożenie powyższych zabezpieczeń wymaga nieco odwagi w pracy z kodem, ale drastycznie podnosi poziom bezpieczeństwa Twojej witryny. Pamiętaj jednak: każdą zmianę w plikach systemowych poprzedzaj wykonaniem pełnej kopii zapasowej (backupu). Jeden błąd w .htaccess może „położyć” całą stronę, a backup pozwoli Ci ją przywrócić w kilka minut.

ciasteczka
Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.