Попробуйте это ....
(?<=\<any_tag\>)(\s*.*\s*)(?=\<\/any_tag\>)
Мое понимание имеет внутренний процесс обработки сессии, следующее:
Когда session_start
назван, PHP ищет параметр от клиента, который был отправлен по почте, ДОБЕРИТЕСЬ, или в cookie (в зависимости от конфигурации; посмотрите сессию use_cookies, сессию use_only_cookies и сессию use_trans_sid) с названием значения session.name для использования идентификатора сессии уже запущенной сессии.
Если это находит действительный идентификатор сессии, это пытается получить данные сессии из устройства хранения данных (см. сессию save_handler) загрузить данные в $_SESSION
. Если это не может найти идентификатор, или его использование запрещается, PHP генерирует новый идентификатор с помощью хеш-функции (см. сессию hash_function) на данных источника, который генерирует случайные данные (см. сессию entropy_file).
В конце времени выполнения или когда session_write_close
назван, данные сессии в $_SESSION
хранится в обозначенное устройство хранения данных.
Идентификатор сессии является, вероятно, просто случайной строкой букв и чисел. Также было бы странно, если бы PHP не проверял, чтобы видеть, что это уникально и поэтому не может быть тем же для двух пользователей. Что касается (1) и (2), я сказал бы, что Вы корректны, но я недавно не работал с PHP, поэтому не стесняйтесь не верить мне.
Взгляд php_session_create_id в ext/session/session.c в php источнике
Это идет как это:
, Настолько добирающийся дубликат является довольно трудным. Однако необходимо ознакомиться с понятием фиксации сессии, которая позволяет взломщику потенциально выбирать session_id, который их цель примет - см. Сессии и Cookie для хорошей краткой информации.