Ostatnio było wiele dyskusji na temat logowania i zapamiętywania użytkownika.
Troche nad tym myślałem i taki mi pomysł wpadł do głowy (pewnie już ktoś wcześniej to wymyślił).
Użytkownik po zalogowaniu dostaje ciasteczko na swojego kompa z loginem.
Przy kolejnej wejściu na stronę login pobierany jest z ciasteczka i automatycznie user jest logowany. W sesji dajmy na to ustawiamy $_SESSION['user']=$_COOKIE['user'].
Szkopuł w tym, że logowanie tym sposobem jest niepełne. Gdy użytkownik chce wykonać jakąś "poważniejszą operację" musi mimo wszystko się zalogować na stronie.
Dajmy na to jest druge zmienna np. $_SESSION['zalogowany'], która mówi o tym czy dany user zalogował się w danej sesji. Żeby miała wartość true user musi sie zalogować ręcznie.
Do czego ten sposób może sie przydać - np. w moim sklepie użytkownik może od razu widzieć swoje rabaty, ceny dostaw itp. Jednakże jeśli chce już złożyć zamówienie, czy chociażby zobaczyć swój profil (gdzie są dane osobowe, adres wysyłki itp) musi się zalogować. Ostatecznie nie każda wizyta kończy się tranzakcją - user może kompletować swój koszyk np. na raty.
Jest to rozwiązanie połowiczne ale chyba bezpieczne.
I tu moje pytanie - czy to rozwiązanie rzeczywiście jest bezpieczne czy tylko mi się tak wydaje? Jakie są jego słabe punkty?