Почему авторизация сбрасывается, когда я перехожу на другие сайты?

Как исправить проблему с сбросом авторизации при переходе между сайтами на разных доменах, даже после выполнения всех рекомендаций Битрикса? В коде в dbconn.php присутствует следующее: setcookie("PHPSESSID", "", 777, '/'); И в заголовках ответа указано: PHPSESSID=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/ PHPSESSID=qeq96i7rTGYgPUkOd9kmLI3iXlw1zwFh; path=/; domain=site.ru; HttpOnly. Почему происходит перезапись куки на новую в данном случае?
  • 29 февраля 2024 г. 13:58
Ответы на вопрос 2
Проблема с сбросом авторизации при переходе между сайтами на разных доменах может быть связана с настройками куки.

В вашем случае, когда вы устанавливаете куки с помощью функции setcookie() с пустым значением, это приводит к удалению текущей сессии (PHPSESSID) и установке новой сессии. Это объясняет почему происходит перезапись куки на новую в данном случае.

Чтобы исправить эту проблему, вам следует убрать строку setcookie("PHPSESSID", "", 777, '/'); из кода, так как она инициирует сброс сессии. Также убедитесь, что куки устанавливаются с правильными настройками, включая домен и путь. 

Для корректной работы авторизации между сайтами на разных доменах рекомендуется использовать механизм совместной аутентификации (Single Sign-On), который позволяет пользователям один раз войти и сохранить свою авторизацию при переходе между различными сайтами.
- site.ru
- crm.cite.ru

если тут ошибка и ваши сайты расположены так
- site.ru
- crm.site.ru

вам нужно заменить crm.site.ru на crm-site.ru или какое то другое название и проблемы не будет
Похожие вопросы