Задать вопрос
@RoffDaniel

Как реализована система «Запомнить меня» в XenForo?

Как реализована система "Запомнить меня" в таком форумном движке как XenForo, например? На сайте(не в движке), "Запомнить меня" реализовано так:
if (isset($params['loginFormCheckbox'])) {
                        $cookieHashSalt = '********************************************';

                        $hashTemplate = $params['loginFormLogin'] . $params['loginFormPassword'];
                        $justVerifyHash = hash('sha256', $hashTemplate . $cookieHashSalt);

                        setcookie('rememberUserID', $responseTwo['success']['id'], time() + 2629743);
                        setcookie('rememberUserHash', $justVerifyHash, time() + 2629743);
                        $_SESSION['loggedUserID'] = $responseTwo['success']['id'];
                    } else $_SESSION['loggedUserID'] = $responseTwo['success']['id'];

и
if (isset($_COOKIE['rememberUserHash']) && isset($_COOKIE['rememberUserID'])) {
                $cookieHashSalt = '********************************************';

                $queryResult = $query->query($queryBuilder
                    ->select('login, password')
                    ->from('users')
                    ->where('id', $_COOKIE['rememberUserID'])
                    ->sql(), $queryBuilder->values);

                if (isset($queryResult)) {
                    $hashTemplate = $queryResult[0]->login . $queryResult[0]->password;
                    $justVerifyHash = hash('sha256', $hashTemplate . $cookieHashSalt);
                    $rememberUserHash = $_COOKIE['rememberUserHash'];

                    if ($justVerifyHash === $rememberUserHash) {
                        $_SESSION['loggedUserID'] = $_COOKIE['rememberUserID'];
                    }
                }
            }


Но почему-то сессия все равно сбрасывается и куки исчезают... Возможно ли то, что это из-за того, что за сайтом стоит Cloudflare?
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы