[PHP] Доверять ли _SESSION?

kruzer25

Что-то я туплю, можно ли рассчитывать, что в _SESSION находится именно то, что положили туда со стороны сервера?
То есть, могут ли действия клиента повлечь за собой то, что в _SESSION окажутся осмысленные, но неверные данные?

Werdna

от клиента ты можешь получать только GET/POST и еще поля из http-заголовка. $_SESSION модифицируешь только ты сам, клиент только отдает uid своей сессии, чаще всего через куку. Подогнать чужой uid практически нереально, только прослушиванием, и чаще всего uid с левым IP игнорится из соображений секьюрности.

kruzer25

Спасибо за инфу!
Просто у меня что-то такое всплывало в голове, что и переменные тоже через куки идут... то есть, они всё-таки на сервере хранятся, да?

Werdna

то есть, они всё-таки на сервере хранятся, да?

Да, клиент передает только id сессии, в этом и смысл сессий.

stat7819605

У каждой сессии свой id который передается куками. Для кажкой сессии создается свой масив сессий. Нельзя, ну или практически не возможно, создать переменныю сессии из сессии с другим id.
 
По мне, так сессии совершенно безопасны.
 
Ну на всякий случай можно проверять, создана ли эта переменная в сессии или нет.

Werdna

Для кажкой сессии создается свой масив сессий.

1) переменных
2) ХЭШ, а не массив

stat7819605

Как ни странно в книшках по ПХП, я ни разу не встречал слово ХЭШ ( ВО всяком случае по ПХП 4). Сам люблю эти словечки, но в книжках и хэши и списки носят одно название масивы.

Может я и не прав, или книжки у меня такие )

Andbar

Подогнать чужой uid практически нереально, только прослушиванием, и чаще всего uid с левым IP игнорится из соображений секьюрности.
т.е., проверять IP для сессии не требуется, т.к. это делается на стороне сервера?

evgen5555

А зачем его проверять?

Werdna

т.е., проверять IP для сессии не требуется, т.к. это делается на стороне сервера?

Нет, скорее всего не делается. Доки читай. Можешь руками проверять, две строки...
Оставить комментарий
Имя или ник:
Комментарий: