Logo GRVision - Strony i sklepy internetowe
Darmowa konsultacja 881 932 088 kontakt@grvision.pl

„Nieprawidłowy token bezpieczeństwa” w PrestaShop

Publikacja: · Grzegorz Rapczyński

Klikasz cokolwiek w panelu i zamiast oczekiwanej strony dostajesz komunikat o nieprawidłowym tokenie bezpieczeństwa, z przyciskiem „Chcę kontynuować". To nie jest błąd - to zabezpieczenie, które zadziałało.

Pytanie brzmi: zadziałało słusznie czy niepotrzebnie. Odpowiedź zależy od tego, co robiłeś chwilę wcześniej.

Do czego służy ten token

Każdy adres w panelu ma doklejony losowy ciąg znaków, powiązany z Twoją sesją. Chroni przed atakiem, w którym obca strona wysyła żądanie w Twoim imieniu - na przykład kasuje produkt, gdy jesteś zalogowany i akurat gdzieś klikniesz.

Sklep sprawdza, czy token w adresie zgadza się z sesją. Nie zgadza się - zatrzymuje operację i pyta, czy na pewno chcesz kontynuować. Mechanizm działa dokładnie tak, jak powinien.

Kiedy to nic nie znaczy

Cztery sytuacje, w których komunikat jest całkowicie normalny:

  • Otworzyłeś zakładkę panelu sprzed kilku godzin. Sesja wygasła, token stracił ważność. Wystarczy odświeżyć panel od głównego adresu.
  • Wszedłeś z zakładki w przeglądarce albo z zapisanego linku. Adresy panelu zawierają token, więc zapisywanie ich w ulubionych nie ma sensu - zadziałają najwyżej do końca sesji.
  • Byłeś zalogowany na dwóch kontach albo w dwóch przeglądarkach. Każda sesja ma własne tokeny.
  • Ktoś przesłał Ci link do panelu. Ten sam mechanizm - u Ciebie token będzie inny.

W każdym z tych przypadków możesz spokojnie kliknąć „Chcę kontynuować". Wejdź jednak na panel od nowa, zamiast klikać tak przy każdej operacji - komunikat wtedy zniknie.

Kiedy to sygnał problemu

Uwagę powinno zwrócić dopiero to, że komunikat wyskakuje stale, przy każdym kliknięciu, nawet po świeżym zalogowaniu. Wtedy przyczyna jest poważniejsza i sprowadza się zwykle do jednej z trzech rzeczy:

  • Sesja się nie utrzymuje - ten sam mechanizm, który powoduje, że panel nie wpuszcza mimo dobrego hasła. Najczęściej chodzi o adres sklepu zapisany w ustawieniach inaczej, niż ten, pod którym faktycznie pracujesz.
  • Niezgodność HTTPS i zwykłego HTTP - część panelu działa po szyfrowanym połączeniu, część nie, a ciasteczko sesji nie przechodzi między nimi.
  • Cache po stronie serwera serwuje zapamiętaną stronę panelu ze starym tokenem. Panel administracyjny nigdy nie powinien być cache'owany - jeśli hosting robi to domyślnie, trzeba go wyłączyć dla tego adresu.

Jeśli to ostatnie, warto od razu sprawdzić, czy sklep w ogóle działa po jednym, spójnym adresie. Rozjechane wersje z www i bez to źródło wielu drobnych, trudnych do uchwycenia problemów - nie tylko tego.

Najczęstsze pytania

Czy klikanie „Chcę kontynuować” jest bezpieczne?

Przy operacji, którą sam przed chwilą uruchomiłeś - tak. Gdyby komunikat pojawił się bez powodu, po wejściu na obcą stronę, lepiej go nie zatwierdzać i wylogować się z panelu.

Da się wyłączyć ten mechanizm?

Da się, ale nie należy. To jedno z podstawowych zabezpieczeń panelu. Jeśli przeszkadza, to znaczy, że trzeba naprawić sesje, a nie usuwać ostrzeżenie.

Dlaczego adres panelu wygląda tak dziwnie?

Bo zawiera właśnie ten token. Dlatego adresów panelu nie zapisuje się w zakładkach i nie przesyła innym - u odbiorcy i tak nie zadziałają.

Komunikat wraca mimo świeżego logowania

To zwykle znak, że sesje albo adresy sklepu są rozjechane. Napisz - sprawdzę konfigurację i powiem, co dokładnie się nie zgadza. Formularz kontaktowy, 881 932 088 lub kontakt@grvision.pl.