Подтвердить что ты не робот

Какова длина строки идентификатора сеанса PHP?

Я делаю таблицу в базе данных MySQL, чтобы сохранить некоторые данные сеанса, включая session_id. Какова должна быть длина VARCHAR для хранения строки session_id?

4b9b3361

Ответ 1

Зависит от session.hash_function и session.hash_bits_per_character.

За дополнительной информацией обратитесь к странице session_id.

Чем выше вы установите session.hash_bits_per_character, тем короче ваш session_id станет с использованием большего количества бит на символ. Возможная значения 4, 5 или 6.

При использовании sha-1 для хеширования (путем установки ini_set ('session.hash_function', 1) следующую строку сеанса длины производятся тремя session.hash_bits_per_character Параметры:

4 - 40 символьная строка

5 - 32 символьная строка

6 - 27 символьная строка

Ответ 2

@sachleen ответ не заполнен.
Более подробная информация о длине идентификатора сеанса описана здесь.

Сводка:

128-bit digest (MD5)  
4 bits/char: 32 char SID    
5 bits/char: 26 char SID    
6 bits/char: 22 char SID

160-bit digest (SHA-1)
4 bits/char: 40 char SID    
5 bits/char: 32 char SID    
6 bits/char: 27 char SID

И пример регулярного выражения для проверки идентификатора сеанса:

preg_match('/^[a-zA-Z0-9,-]{22,40}$/', $sessionId)

Ответ 3

Это зависит от этих параметров конфигурации: session.hash_function и сеанс. hash_bits_per_character

Более короткие длины идентификаторов сеансов имеют более высокую вероятность столкновения, но это также сильно зависит от алгоритма генерации идентификатора. Учитывая настройки по умолчанию, длина идентификатора сеанса должна соответствовать большинству приложений. Для реализаций более высокой безопасности вы можете подумать о том, как PHP генерирует свои идентификаторы сеансов и проверяет, криптографически ли они защищены. Если это не так, то вы должны свернуть собственный алгоритм с криптографически безопасным источником случайности.

Ответ 4

Я не знаю, где будет использоваться мое приложение, и я установил его как:   УАКСНАК (127) и надеемся, что это будет отлично для пользователей UnKnown MySQL.

Ответ 5

При обычной установке php длина всегда равна 26 (exmp: psprdaccghmmre1oo2eg0tnpe6)