@yourisus

Безопасность куков и сессий?

День добрый, друзья.
Вроде понимаю суть куков и сессий, куки - на клиенте, сессии на сервере.
Но у меня вопрос по безопасности: если куки злоумешленник стянет с клиента, и использует их сам, то он получит доступ не авторизовываясь?
А если сымитировать id браузера и подставить чужие куки ,можно получить доступ не авторизуясь?
Что конкретно записывается в сессии, что они более безопасны? Связку IP, browser_agent_id?
Может кто расскажет сие технологии немножко подробнее в плане безопасности и что конкретно там в качестве input\out data.
  • Вопрос задан
  • 664 просмотра
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
Сессия - это не на сервере, это абстрактное понятие, сделанное для упрощения вхождения в курс начинающих (и говно-) кодеров.
(1)Юзер логинится (аутентифицируеится), под его права все роутеры-шаблонизаторы исходя из политик генерируют и отправляют контент. Все. Один запрос страницы - один ответ.
(2)Чтобы юзер не вводил логин-пароль постоянно, при первом логине ему создается идентификатор и отправляется в куках. Т.о. при каждом запросе юзер вместо логина отправляет этот идентификатор. А сервер - см. (1)

Естественно, этот индентификатор можно перехватить (по незащищенному соединению за милую душу, по защищенному - трояны никто не отменял) и авторизоваться вместо юзера.

Поэтому на стороне сервера по разному решают эту проблему:
Вк пишут мыло на каждый логин "вы вошли", Гугл пишет (с этого ИП вы не входили, подтвердите), кто-то забивает, кто-то (банки) каждый новый логин требуют подтверждать СМС.

Как сервер определяет подозрительность? от слепков браузера до часовых поясов.

почитай про OAuth
почитай про CSRF
Ответ написан
Комментировать
AlexXYZ
@AlexXYZ
O Keep Clear O
Нет абсолютной безопасности и секретности. Смиритесь с этим. Можно только максимально усложнить жизнь злоумышленнику. Включите SSL и этого в большинстве случаев достаточно.
По сути содержимого куки - это просто строка текста, по-возможности уникальная для каждой сессии, но не обязательно. Зависит от цели. Используются в основном числовые формы, так как проще генерировать уникальные случайные последовательности. Но туда можно записать хоть четверостишие АС Пушкина. На одном компе можно отрыть два браузера, перетащить во второй куки первого (при определенных условиях) и сервер будет считать это одной сессией.
Ответ написан
Ваш ответ на вопрос

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

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