Panel wylogowuje mnie co kilka minut
Publikacja: · Grzegorz Rapczyński
Pracujesz w panelu PrestaShop, zapisujesz produkt i zamiast potwierdzenia widzisz ekran logowania. Logujesz się, robisz dwie rzeczy, znowu to samo. To nie jest złośliwość sklepu, tylko sesja, która nie dożywa do następnego kliknięcia.
Trzy rzeczy do sprawdzenia w tej kolejności
1. Czas życia sesji w konfiguracji sklepu. W ustawieniach jest osobna wartość dla panelu administracyjnego. Domyślnie to zwykle kilkadziesiąt minut, ale bywa ustawiona nisko „ze względów bezpieczeństwa" przez kogoś, kto nie musiał potem w tym panelu pracować. Podniesienie do godziny albo dwóch jest rozsądnym kompromisem.
2. Ustawienie po stronie serwera. Nawet jeśli sklep pozwala na dwie godziny, serwer może mieć własny, krótszy limit - i to on wygrywa. Wartość zobaczysz na stronie z informacjami o konfiguracji w panelu.
3. Czyszczenie katalogu sesji. Na wspólnym hostingu pliki sesji wszystkich kont leżą czasem w jednym katalogu, a serwer sprząta je według najkrótszego ustawienia spośród wszystkich. Efekt: Twoja sesja ginie, choć Twoja konfiguracja jest w porządku. Rozwiązaniem jest wskazanie sklepowi własnego katalogu na sesje.
Gdy wylogowuje natychmiast, nie po czasie
Jeśli wyrzuca Cię przy każdym kliknięciu, a nie po kilkunastu minutach, to nie jest kwestia limitu czasu. To rozjechane adresy.
Ciasteczko sesji jest wystawiane dla konkretnego adresu. Jeśli panel w trakcie pracy przeskakuje między wersją z www i bez, albo między szyfrowanym a zwykłym połączeniem, przeglądarka traktuje to jak dwie różne witryny i sesja przepada. Ten sam mechanizm powoduje, że panel w ogóle nie wpuszcza mimo dobrego hasła.
Sprawdzenie zajmuje chwilę: popatrz na pasek adresu po zalogowaniu i po kliknięciu w cokolwiek. Jeśli adres się zmienia inaczej niż tylko w części po ukośniku, masz przyczynę.
Rzadsze przyczyny, które warto znać
- Zmienny adres IP. Niektóre konfiguracje wiążą sesję z adresem, z którego się zalogowałeś. Przy połączeniu mobilnym, które zmienia adres, wypada się co chwilę.
- Brak miejsca na dysku. Sesji nie ma gdzie zapisać. Objaw bywa losowy i często towarzyszą mu inne dziwne zachowania sklepu.
- Dwa konta w tej samej przeglądarce. Zalogowanie się na drugie konto w innej karcie potrafi unieważnić pierwszą sesję.
- Rozjechany zegar serwera. Rzadkie, ale wtedy ciasteczko wygasa w chwili wystawienia. Wychodzi to zwykle przy okazji innych problemów z datami w sklepie.
Czego nie robić
Kusi, żeby ustawić czas sesji na kilkanaście godzin i zapomnieć o sprawie. To zły pomysł, zwłaszcza gdy panel ma kilku użytkowników albo gdy ktoś loguje się z komputera, który nie stoi w zamkniętym pokoju.
Sensowniejszy kompromis: godzina lub dwie plus logowanie dwuskładnikowe. Wtedy dłuższa sesja nie jest problemem, bo samo hasło i tak nie wystarcza, żeby wejść. Rozpisałem to osobno w tekście o zabezpieczaniu panelu.
Najczęstsze pytania
Ile powinien wynosić czas sesji w panelu?
Godzina do dwóch to rozsądna wartość dla kogoś, kto realnie pracuje w sklepie. Kilkanaście minut jest uciążliwe, kilkanaście godzin niebezpieczne.
Czy krótsza sesja naprawdę zwiększa bezpieczeństwo?
Trochę, ale znacznie mniej niż logowanie dwuskładnikowe i ograniczenie dostępu do panelu. Skracanie sesji to najtańszy środek, nie najskuteczniejszy.
Wylogowuje tylko mnie, współpracownika nie. Dlaczego?
Najczęściej dlatego, że wchodzicie pod nieco innymi adresami albo jedno z was ma zmienny adres IP. Porównajcie dokładnie adresy w pasku przeglądarki.
Praca w panelu jest udręką
Jeśli sesje padają mimo poprawnych ustawień, przyczyna zwykle siedzi po stronie serwera. Napisz - ustalę, które ustawienie wygrywa, i poprawię je tam, gdzie trzeba. Formularz kontaktowy, 881 932 088 lub kontakt@grvision.pl.