Dostęp do admina chroniony ciastkiem

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.

Facebook
LinkedIn