Задать вопрос
@7a-666

Безопасность при использовании сессии?

В общем делаю в портфолио интернет магазин и там есть личный кабинет и при входе или регистрации я запускаю сессию со значениями пользователя в бд а именно там есть id, логин, пароль (зашифрованный) насколько я знаю если создать куки для этого то можно поменять скажем id и оказаться на чужом аккаунте так вот есть ли что-то подобное с сессиями насколько безопасна моя сессия поделитесь опытом как это лучше сделать
  • Вопрос задан
  • 304 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 4
john36allTa
@john36allTa
alien glow of a dirty mind
ищите по ключам php session injection
Вот, например
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Привяжите идентификатор сессии через fingerprint ("отпечаток" клиента) к клиенту (браузеру), захешируйте (никакого шифрования!) через серверную "соль" и сохраните на клиенте в куках.
2. Затем, проверяйте этот идентификатор при смене IP-адреса внутри этой сессии, запросив реальный "отпечаток" и его хеш из куков, и проверьте то, что сохранено в сессии на стороне сервера: несовпадение - это чужой! ;)

Итог: Если кто-то подменит куки, он никак не узнает реального "отпечатка" клиента и ничего не сможет сделать с украденными куками с чужим аккаунтом.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Ответы все конечно ад кромешный.

если создать куки для этого то можно поменять скажем id и оказаться на чужом аккаунте так вот есть ли что-то подобное с сессиями

нет

насколько безопасна моя сессия

вполне безопасна. для этого сессии и придуманы
Ответ написан
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
Лучше всего использовать методологию JWT. - где все данные о пользователе лежат внутри cookie в BASE64.

Хорошее видео про эти токены.

Есть и другие подходы и методологии токенов, но они мне явно нравятся меньше, поэтому коварно умолчу о них. Если интересно - гуглите "Методы авторизации".
Ответ написан
Ваш ответ на вопрос

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

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