Когда я вызываю session_start()
или session_regenerate_id()
, PHP генерирует то, что кажется случайной строкой для идентификатора сеанса. Я хочу знать, это просто случайная последовательность символов, или это как функция uniqid()
?
Потому что, если это просто случайные персонажи, не могли бы вы теоретически столкнуться с конфликтом? Если пользователь A вошел в систему, а затем Пользователь B вошел в систему и, хотя и маловероятен, пользователь B сгенерировал один и тот же идентификатор сеанса, тогда пользователь B получит доступ к учетной записи пользователя A.
Даже если PHP проверяет, существует ли уже сеанс с тем же идентификатором, и если это так, снова восстанавливает идентификатор... Я не думаю, что я хочу, чтобы система, КОГДА-ЛИБО, выдает тот же ID дважды, даже после мусора коллекция - возможно, я хочу сохранить их таблицу и проверить против них за возможный захват или что-то еще.
Если это не уникально, как мне нужно обеспечить уникальность? Я бы предпочел реализовать его с помощью PHP-конфигурации, чем в каждом script, который я делаю. Хорошая вещь о сессиях PHP не беспокоит технические детали за кулисами.