Защита сессии от воровства?

Уважаемые пользователи, подскажите как можно максимально защитить сессию от воровства (подмены)?

На данный момент использую:
1. Шифрование сессии SHA512
2. Привязку к хешу md5 связки IP + USER_AGENT, и каждый раз проверяю на соответствие.
3. Динамический идентификатор сессии. С каждым запросом к серверу создается новая сессия сохраняя при этом данные с предыдущей. Таким образом даже если злоумышленник сворует куки, подменит IP и USER_AGENT то есть шанс что он не успеет зайти. При условии что после кражи сессии пользователь сделал хотя бы один запрос.

Что можно еще добавить, или наоборот убрать? Заранее спасибо! :)
  • Вопрос задан
  • 3103 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
copist
@copist
Empower people to give
Обычно в куках хранится идентификатор сессии с ключом вида PHPSESSID
Но можно сделать так, чтобы само имя куки было менее предсказуемым, например md5(идентификатор-сервиса)
Ответ написан
petermzg
@petermzg
Самый лучший программист
https - соединение

А вот IP + USER_AGENT, вы создаете проблему для пользователей из сотовых сетей, так как у них IP адрес может меняться.
Шифрование ключа сессии бессмысленно, ведь это всего лишь данные которые можно скопировать.
Динамический токен поможет выявить одновременную работу, но не защитит от угона на 100%
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы