W czasie, w którym spędziłem przerwy, ucząc się, jak PHP obsługuje Unicode, starałem się, aby moje ciasteczka "Remember Me" były trochę bezpieczniejsze. Jest jednak kilka rzeczy, których nie rozumiem, a kilka własnych rozważań chciałbym przedstawić kilka sugestii i opinii.PHP: Zapamiętaj mnie i bezpieczeństwo?
1) Czy istnieje metoda przyjęcia funkcji "Zapamiętaj mnie", która nie obejmuje plików cookie? Ciekawy, ponieważ istnieją oczywiste luki bezpieczeństwa w przechowywaniu plików cookie uwierzytelniania. Nie chodzi o to, że w prawie wszystkim nie ma zagrożeń bezpieczeństwa.
2) Ponieważ nie współpracuję z bankiem lub "bardzo wrażliwymi" informacjami, czy konieczne jest wymaganie od użytkowników wprowadzania haseł w przypadku bardziej "wysokiego profilu"? Wygląda na to, że zapamiętanie loginu byłoby marnowaniem, jeśli po dwóch minutach poprosimy ich o zalogowanie się.
3) Jaka jest absolutnie najlepsza metoda przechowywania pliku cookie służącego do uwierzytelniania (z wyjątkiem "w ogóle nie")? Obecnie zakodowałem ten obszar, aby ustawić pojedynczy token w pliku cookie (zaszyfrowany za pomocą time(), ich agent użytkownika, remote_addr i salt - sha256). Kiedy ten użytkownik wróci, sprawdza tabelę "sesji" dla tokena, a następnie dopasowuje IP do IP, aby je zarejestrować. Jeśli token istnieje, ale adres IP się nie zgadza, cicho rozbraja plik cookie i prosi o zalogowanie się jako jeśli nie mieli.
Jeszcze raz dziękuję wszystkim.
Należy ponownie wykorzystać istniejące ramy uwierzytelniania ilekroć jest to możliwe, ponieważ, naprawdę, jest skomplikowany. Na przykład, spójrz na https://github.com/delight-im/PHP-Auth Będziesz potrzebował jakiegoś stałego magazynu po stronie klienta do tego, co próbujesz zrobić - i dlatego pliki cookie są idealnym wyborem. – caw