Я попытался исследовать этот механизм, но только нахожу подсказки, и они не очень последовательны. Как сеанс _id отправляется в браузер и как браузеру рекомендуется вернуть его, когда пользователь запрашивает новую страницу?
Спасибо, Крис
PHP будет делать 2 вещи:
<form>
открывающих тегов. Обратите внимание, что это опасно, потому что любой, кто вы, например, копируете / вставляете URL-адрес, содержащий параметр PHPSESSID, может поделиться своим сеансом входа на сайт – веб-сервер не имеет простого способа сказать, что вы отличаетесь от человек, которому вы отправили ссылку …
Собственный модуль сеанса PHP поддерживает выборку идентификатора сеанса из данных GET и POST (кроме файлов cookie). Вы можете использовать http://uk.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid и http://uk.php.net/manual/en/session.configuration .php # ini.url-rewriter.tags, чтобы позволить php обрабатывать пересылку id. Но в любом случае имейте в виду, что, особенно если вы используете GET для переноса идентификатора, более вероятно, что некоторые из ваших пользователей случайно выдают свой (действительный) идентификатор сеанса.
В основе механизма все равно, как идентификатор сеанса был перенесен с клиента на сервер. Пока вы передаете «правильное» значение session_id (), он будет работать – даже если вы сделаете что-то странное (глупо?) Как злоупотребление заголовком etag как средство для идентификатора сеанса 😉
Сеансы работают, создавая уникальный идентификатор (UID) для каждого посетителя и сохраняя переменные на основе этого UID. UID либо (1) хранится в файле cookie, либо (2) распространяется по URL-адресу.