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

На сервере получаю другой sessid, как решить данную проблему?

Если зайти в режиме инкогнито или открыть страницу впервые, то `sessid` с сайта не совпадает с `sessid` на сервере:
echo $request['sessid'];
// e7bd9852092ba70e7e606f25bd5c925e
echo bitrix_sessid();
// ceebd194d50b22b5fe73ad583f4feeac
echo ($request['sessid'] == bitrix_sessid());
// false

После перезагрузки страницы проблема исчезает.

Подскажите, из-за чего может возникнуть данная проблема?
  • Вопрос задан
  • 170 просмотров
Подписаться 2 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Skillbox
    Профессия Графический дизайнер PRO
    15 месяцев
    Далее
  • ProductStar
    Профессия Product Manager
    10 месяцев
    Далее
Решения вопроса 1
rpsv
@rpsv
нормально делай, нормально будет
sessid токен генерируется новый для каждой сессии, соответственно вы делаете первый запрос со старой сессий (кодом), в ответ получаете ошибку.

Когда вызываете функцию bitrix_sessid, в случае если не указан ид сессии (новая сессия), генерируертся новый.

На стороне фронта (в BX.bitrix_sessid()) у вас хранится старый токен сессии.
Запрос лучше слать через BX.ajax.runAction, там внутри этот токен прокидывается и в случае чего автоматически перегенерируется.

Подробности про работу с ним вы можете найти в документации: https://docs.1c-bitrix.ru/pages/security/csrf-ssrf...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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