Cytat(KsaR @ 5.06.2016, 17:12:51 )

1. Dodaj do ciasteczek flagę httpOnly.
Np dla sesji możesz tak:
ini_set('session.cookie_httponly', true);
Tak, czytałem o tym i mam to włączone z poziomu php.ini.
Cytat(KsaR @ 5.06.2016, 17:12:51 )

2. Możesz w sesji stworzyć np. Hash w ktorym będzie:
$_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_ACCEPT_LANGUAGE'].$_SERVER['HTTP_ACCEPT_CHARSET'];
I w razie gdyby się nie zgadzał możesz poprosić o ponowne zalogowanie itp, lub skasować sesję.
No tak, coś można z tym kombinować + nawet User-Agent. Tylko teraz nasuwa się taka kwestia - czy w każdym zapytaniu ta dane się znajdą? Z tego co wiem, to wymagany jest tylko Host do prawidłowego zapytania.
A może zrobić takie coś: porównywać jakieś losowo generowany klucz zapisywany w dwóch lokalizacja na serwerze? Tylko jak go skorelować z sessionid?
Ekspertem nie jestem, ale wydaje mi się, że nie ma 100% metody na blokadę wejścia przez skradzione PHPSESSID, więc chyba pozostaje tylko utrudniać 1. Odczytanie ID (po stronie klienta nie mamy za dużego pola do popisu) 2. wejście do aplikacji przez przejęcie sesji.