Wprawdzie jakiś czas temu przez internet przetoczyła się dyskusja, że „od teraz” Google będzie promować strony serwowane użytkownikom po SSL/HTTPS, a resztę czeka wielki i bolesny spadek w dół, to osobiście na kilku stronach które zostały bez SSL (z różnych przyczyn), a mają większość ruchu z wyszukiwarki nie zauważyłem jakiś różnic wskazujących na tego typu pogram.
Nie oznacza to, że mam coś przeciwko SSL – wręcz przeciwnie, wszędzie gdzie jest to uzasadnione (lub konieczne) korzystam z szyfrowanego połączenia, np. w panelu zarządzania/administrowania WordPressem (WP-Admin), i dziś chciałbym Wam właśnie pokazać, jak w prosty sposób można wymusić bezpieczne połączenie z nim…
Spis treści w artykule
WP-Admin i (wymuszone połączenie) SSL/HTTPS
Obecnie pozyskanie certyfikatu SSL dla strony/domeny nie dość, że może być w pełni bezpłatne, to jeszcze jest relatywnie proste i wygodne – niezależnie czy korzystacie z hostingu współdzielonego, czy serwera VPS.
Wystarczy wspomnieć o takich rozwiązaniach usługach jak Let’s Encrypt, Cloudflare Universal SSL, StartSSL, czy – w ostateczności – certyfikacie wygenerowanym samodzielnie (lub dostępnym w ramach konta hostingowego), który na własne potrzeby również będzie wystarczający, a w połączeniu z Cloudflare Universal SSL w trybie Flexible „jego mankament” będzie właściwie niedostrzegalny dla przeciętnego użytkownika Twojej strony.
Dlatego nie ma powodu, dla którego nie warto w ten sposób (dodatkowo) zabezpieczyć logowania/połączenia do panelu zarządzania/administrowania WordPressem.
Force SSL Admin
By wymusić (!) dostęp do panelu (i okna logowania) WordPressem wystarczy w pliku wp-config.php (plik znajduje się w głównym katalogu WordPressa) dodać jedną linijkę:
define('FORCE_SSL_ADMIN', true);
Zaletą tego rozwiązanie jest również to, że jakby coś było nie tak z połączeniem SSL z Waszą stroną, to wystarczy usunąć dodaną wcześniej linijkę, i strona powinna ponownie działać, tak jak wcześniej…
Ja zazwyczaj dodaje własne/dodatkowe zapisy tuż nad linijką:
/* To wszystko, zakończ edycję w tym miejscu! Miłego blogowania! */
Ew. w wersji angielskiej będzie to:
/* That's all, stop editing! Happy blogging. */
W tym miejscu chciałbym pozdrowić Marcina… ;-)
define('FORCE_SSL_LOGIN', true);
Ale aktualnie – od wersji WP 4.0 – obsługa tego parametru została zaniechana.
Infinite redirect loop, czyli pętla śmierci
W większości przypadków podane rozwiązanie wystarczy, od tego momentu panel zarządzania WordPressem powinien być dostępny tylko i wyłącznie w ramach połączenia szyfrowanego (w przypadku certyfikatu podpisanego samodzielnie może być jeszcze wymagana akceptacja połączenia w przeglądarce, gdyż połączenie/certyfikat może zostać zgłoszony jako niezaufany).
Ale czasem – zwłaszcza w przypadku hostingu – może się zdarzyć, że zamiast panelu zarządzania lub okna logowania zobaczycie w przeglądarce komunikat błędu, np. w Firefoxie wygląda on tak:
Nieprawidłowe przekierowanie
Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.
- Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek.
Rozwiązaniem będzie dodanie w pliku wp-config.php – np. poniżej linijki wymuszającej połączenie SSL z panelem zarządzania – tych 2 linijek:
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
Oczywiście nie ma gwarancji, że to zadziała na pewno, ale do tej pory nie trafiłem na hosting, w którym to by nie zadziałało – a miałem bezpośrednio lub pośrednio konta hostingowe chyba u większości najpopularniejszych dostawców, a przynajmniej w kraju.
Jeśli jednak w Waszym przypadku byłoby inaczej, to albo piszcie w komentarzach i/lub zerknijcie na stronę poświęconą administracji po SSL w Codexie WordPressa, gdzie znajdziecie dodatkowe informacje związane z tym tematem, w tym m.in. gotowe reguły do pliku .htaccess (Apache2).
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01