Po prawidłowym logowaniu ustawiam cookie dla użytkownika, które wygląda w postaci:
ID-USER.USER-HASH
User Hash generuje się automatycznie podczas rejestracji (md5(uniqid());).
Proces logowania wygląda na zasadzie:
Kod
- Jeśli masz ciastko (idziesz dalej):
-- Rozbijam ciastko na ID, oraz Hash
--- SQL sprawdzam czy istnieje taki użytkownik (z tym ID + hash)
---- Jeśli tak to jesteś zalogowany
-- Rozbijam ciastko na ID, oraz Hash
--- SQL sprawdzam czy istnieje taki użytkownik (z tym ID + hash)
---- Jeśli tak to jesteś zalogowany
Jednak po paru chwilach miałem mieszane uczucia co do tego rozwiązania, bo przecież jeśli ktoś wygranie z komputera
owe ciastko, to będzie miał dostęp do jego konta. Lub też będzie znał jego hash (oczywiście hash nigdzie nie jest wyświetlany, przetrzymywany jest w bazie) i też będzie miał dostęp.
Tak więc czy ten sposób jest niebezpieczny? w jaki sposób powinien weryfikować użytkowników przy rejestracji (poza sesja) chciałbym aby auto logowanie było ON.
Chciałbym dodać, że każdą wartość, $_COOKIE filtruje przez mysql_real_escape_string.