сеанс перекрывается и обменивается друг с другом в php - PullRequest
1 голос
/ 17 мая 2019

Я создаю игру в веб-браузере. Я проверяю аутентификацию пользователя с помощью Сеанса На локальном хосте все работает хорошо, когда я загружаю файлы на сервер и игрок начинает играть. Проблема начала появляться

проблема просто в том, что

я читаю идентификатор игрока из сессии, и когда больше чем один пользователь открывает сервер одновременно, идентификаторы обмениваются между игроками, я пытался обойти решение, но все не удалось

чтение идентификатора игрока

    if (session_status() == PHP_SESSION_NONE) {
        session_start();
    }

    if(isset($_SESSION["id_player"])){
        $playerId = $_SESSION["id_player"];
    }
    if($_SESSION["auth"] != returnIAuthToken()){


    exit();
   }

    session_write_close();

функция предотвращения проблем

function returnIAuthToken(){
    return md5((isset($_SERVER['HTTP_CLIENT_IP']) ?
            $_SERVER['HTTP_CLIENT_IP'] : 
        isset($_SERVER['HTTP_X_FORWARDED_FOR']) ?
        $_SERVER['HTTP_X_FORWARDED_FOR'] :
        $_SERVER['REMOTE_ADDR']).(!empty($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'no ua'));
}

установка идентификатора игрока


if (session_status() == PHP_SESSION_NONE) {
            session_start();
        }

        $_SESSION["id_player"]     = $id_user;
        $_SESSION["auth"]   = returnIAuthToken();

        session_write_close();

Я провел какой-то поиск, но ничего не нашел

Я говорю администратору сервера о проблеме, но он сказал ее по коду, я знаю, что это не кажется хорошим вопросом, но я даже не знаю, гдеэто проблема

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...