Система управления сессиями - PullRequest
0 голосов
/ 01 июля 2018

Я нахожусь в процессе создания собственной системы управления сеансами и хочу создать свой собственный идентификатор перед началом сеанса с помощью функции session_create_id (), хотя я не уверен в том, как работает префикс, проблема в том, что я Имея, если я повторю session_create_id с префиксом, я увижу префикс с идентификатором сессии, хотя, когда я ввожу этот session_create_id в функцию session_id, я вижу только стандартный идентификатор длины 26, когда echo'ed. Эта статья, которую я нашел на https://wiki.php.net/rfc/session-create-id, объясняет, почему я вижу только стандартную длину, которую я установил в своем конфигурационном файле. Но я не уверен, откуда я знаю, что этот префикс есть и, по сути, добавляет ли он более безопасный session_id.

Эта информация из статьи, которая наполняет часть моего любопытства.

ПРИМЕЧАНИЕ. Длина префикса не считается частью session.sid_length. Длина идентификатора сеанса стала «длина префикса» + session.sid_length. Общая длина должна быть не более 256 символов.

Код:

//SessionRegeneration
function sess_regenration(){
  if (session_status() == PHP_SESSION_NONE){

    //CreateRandomStringForPrefix
    $RandomizerForPreFix = str_split("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
    shuffle($RandomizerForPreFix);
    $EmptyStringToAppenRandomizer = '';
    foreach($RandomizerForPreFix as $Element ){
     $EmptyStringToAppenRandomizer .= $Element;
   }
    //CreateNewSessionIdWithPrefix
    $CreatedId = session_create_id($EmptyStringToAppenRandomizer);
    session_id($CreatedId);
    //StartSession
    session_start();
    echo session_id();
  }

}  

1 Ответ

0 голосов
/ 01 июля 2018

Я только что понял, что для использования функциональности session_create_id () я должен отключить строгий режим, хотя теперь у меня возникнет проблема с неавторизованными идентификаторами сеансов ... Есть ли возможность создать этот идентификатор сеанса и по-прежнему не разрешать несанкционированные сеансы.

...