Witam. Aktualnie piszę skrypt logowania. Jest już w sumie skończony lecz zastanawiam się nad moją metodą ochrony przed kradzieżą sesji. Wygląda to następująco:

W tabeli 'session' mam user ID, session ID oraz KEY
KEY jest wygenerowanym ciągiem lecz nie jest zapisywany w $_SESSION tylko w ciastku

Podczas każdego przeładowania strony sprawdzane jest czy $_SESSION['log_lvl'] > -1 i jeżeli tak to odczytywany jest z bazy session ID i porównywany z aktualną sesją. Następnie jeżeli wszystko jest w porządku to z bazy pobierany jest KEY i porównywany z ciastkiem. Jeżeli wszystko się zgadza to użytkownik pozostaje zalogowany i generowany jest nowy session ID oraz KEY i zapisywane są do bazy. Jeżeli session ID albo KEY się nie zgadza to użytkownik zostaje wylogowany.

Zrezygnowałem ze sprawdzania IP ponieważ system taki traci sens w sieciach osiedlowych.

Pytanie brzmi czy jeżeli session ID jest za każdym razem generowany na nowo to czy jest sens używać jeszcze KEY?
Zaznaczę, że session_regenerate_id uruchamiany jest z parametrem true.