Задать вопрос
slavchickalpha
@slavchickalpha

Могут ли украсть сессию php?

Может ли другой человек узнав ID сессии и приписав его в свой php скрипт через session_id('xxxxxxxxx'); (и на своем сервере) получить доступ к данным сессии моего сайта?
  • Вопрос задан
  • 1793 просмотра
Подписаться 7 Простой 1 комментарий
Решения вопроса 1
Decadal
@Decadal
Нет, таким образом каким вы описали - нет. Идентификация происходит через cookies, а они в свою очередь привязываются к конкретному домену.
Прописал в своем скрипте - получил куку на своем сервере - молодец, но там ничего нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
FanatPHP
@FanatPHP
Чебуратор тега РНР
Как всегда, в теле вопроса написано совсем не то, что в заголовке.

Отвечаем на оба вопроса

Могут ли украсть сессию php?
при нормальных настройках сайта (httponly cookies, SSL) - практически нереально. Только трояном с компа. Но если есть доступ к компу, то с сессиями уже заморачиваться как-то мелко.
Хотя я не очень уверен насчет расширений браузера/тулбаров. Думаю, что они доступ к кукам имеют свободный.

Может ли другой человек узнав ID сессии и приписав его в свой php скрипт получить доступ к данным сессии моего сайта?
Разумеется, может.

Только не описанным способом, конечно. Идентификация происходит через cookies. Соответственно, узнав ID, надо просто отправить нужный session_id со своего сервера или браузера.
Ответ написан
nor1m
@nor1m
web-developer
Так как Вы описали - нет.
Ответ написан
Если речь идет именно о php-сессиях, то информация о них хранится на сервере, и соответственно ее нельзя подставить в запрос извне. Другой вопрос, что часто под сессией подразумевается авторизационная сессия, когда вы храните куку, по которой сервер получает информацию о пользователе и дает доступ к сайту. В таком случае, если украсть такую куку и установить ее для сайта в своем браузере, вы можете получить доступ к аккаунту пользователя.
Ответ написан
Комментировать
@BorisKorobkov Куратор тега PHP
Web developer
Сессия хранится на вашем сервере, а в куках - ее ID.

В вашем примере теоретически возможно следующее: если злоумышленник хостится на том же шаред-хостинге у говнопровайдера, который не виртуализирует и даже не разделяет ваши данные. Но с этом случае злоумышленнику гораздо проще украсть все ваши исходники вместе с БД. Надеюсь, что такие хостеры уже все разорились.

Если злоумышленник узнает ID сессии и при этом он имеет тот же IP (например, при подключении к открытому WiFi), то сможет получить с вашего сервера то же, что и исходный юзер. Но это уже совсем другая проблема. Гуглите "Man in the middle"
Ответ написан
Ваш ответ на вопрос

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

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