Brak wymuszenia SSL w panelu administracyjnym
Co to oznacza
Jeśli stała FORCE_SSL_ADMIN nie jest ustawiona na true w konfiguracji Twojego WordPressa, panel administracyjny (/wp-admin/) i strona logowania (/wp-login.php) mogą być dostępne przez nieszyfrowane połączenie HTTP. Sprawdź to w pliku wp-config.php.
Nawet jeśli strona posiada certyfikat SSL i działa przez HTTPS, bez tej stałej WordPress nie wymusza szyfrowania dla sesji administracyjnych.
Jakie jest ryzyko
- Przechwycenie danych logowania — login i hasło przesyłane przez HTTP lecą jako czysty tekst. W sieci publicznej (kawiarnia, lotnisko, coworking) atakujący może je przechwycić za pomocą prostego sniffera.
- Kradzież sesji — ciasteczka sesji administratora przesyłane bez szyfrowania mogą być przechwycone i użyte do przejęcia aktywnej sesji (atak session hijacking).
- Atak man-in-the-middle — atakujący może modyfikować treść strony logowania w locie, np. wstrzyknąć keylogger lub przekierować na fałszywą stronę.
Jak to naprawić
- Upewnij się, że certyfikat SSL jest aktywny na serwerze i strona działa przez HTTPS.
- Dodaj stałą do
wp-config.php(przed linią/* That's all, stop editing! */):define('FORCE_SSL_ADMIN', true); - Wymuś HTTPS na całej stronie — skonfiguruj przekierowanie HTTP → HTTPS na poziomie serwera:
# .htaccess (Apache) RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - Zaktualizuj adresy w WordPress — w Ustawienia → Ogólne upewnij się, że oba adresy (WordPress i strony) zaczynają się od
https://.