W poprzednim wpisie opowiedziałem czym są ciastka i jak możemy nimi zarządzać. Dzisiaj chciałbym pokazać łatwy sposób na zabezpieczenie dostępu do panelu admina za pomocą ciastka.
Dlaczego to jest użyteczne i takie ważne?
Dzięki ustawieniu ciastka, mamy dodatkową ochronę, że nasze hasło i login nie zostaną złamane. W większości stron opartych na WordPressie, wystarczy tylko wpisanie /wp-admin i ukazuje nam się panel do logowania.
Pierwszym etapem, który wykonamy, będzie ustawienie przekierowania w .htaccess.
Czym jest htaccess?
Jest to plik, dzięki któremu możemy zmienić domyślne ustawienia dla katalogów w naszym serwerze. Zapisy zawarte w tym pliku funkcjonują dla danego katalogu oraz wszystkich podkatalogów w nim zawartych.
Ustawienie przekierowania
Na serwerze wchodzimy do katalogu z wordpressem i w folderze wp-admin tworzymy, bądź edytujemy plik .htaccess.
Wklejamy do niego:
RewriteEngine On RewriteCond %{HTTP_COOKIE} !admin=supertajnehaslo; [NC] RewriteRule ^ http://www.totylkokod.pl [NC,L]
RewriteEngine On – zaczynamy od tego każdą naszą regułe. Przydaje się, gdy chcemy „zakomentować” dany blok, wystarczy podmiana zamiast on ustawić off.
RewriteCond – warunek który musi zostać spełniony
%{HTTP_COOKIE} !admin=supertajnehaslo – jeżeli ciastko jest różne od
admin z wartością supertajnehaslo
RewriteRule – wykonaj przekierowanie
[NC] – wielkość liter nie ma znaczenia
[L] – jeżeli cookie nie zostanie dopasowane do wzorca,
reguła zawierająca flagę L, zostanie wykonana jako ostatnia
Skrypt ustawiający ciastko i przenoszący do panelu admina
Następnie tworzymy skrypt(plik) o nazwie ustawiciastko.php, który umieszamy w głównym katalogu, zaraz obok index.php. Jego zadaniem będzie utworzenie ciastka i przekierowanie na stronę panelu admina.
<?php $name = "admin"; $value = "supertajnehaslo"; $days = 365; setcookie($name, $value, time() + ($days * 365 * 24 * 60 * 60), "/"); header("Location: http://totylkokod.pl/wp-admin"); die();
Ustawiamy ciastko o nazwie admin, wartości supertajnehaslo,
ważne przez jeden rok i dostępne w obrębie całej strony („/”),
a następnie podajemy stronę, na którą mamy zostać przekierowani.
Dzięki tym sposobom zabezpieczyliśmy dostęp do naszej strony,
przed niepowołanymi osobami.