Через Edge сессия и куки работают, через Chrome/YandexBrowser - нет
Опишу ситуацию: Захожу из дома на сайт через Chrome - всё отлично, сессии работают, как и всегда. Прихожу на работу, захожу через Chrome, авторизовываюсь, сессия записывается, но при переходе на другую страницу (или обновлении страницы) сессия пропадает. Меняю браузер на Яндекс - то же самое. Я начинаю гуглить, через phpinfo() проверяю папки сохранения сессий, права - всё вроде бы на месте. Разбираю код на запчасти, вардамплю всё - всё работает, но обнуляется (session_start нормально включается на каждой странице, никаких session_destroy нет, время жизни сессии фиксировано нормальное). Error_log абсолютно чист.
Пробую с телефона (Safari) - всё работает... Пробую с компьютера коллеги (а у неё Edge) - работает. Пробую со своего Edge - работает.
Делаю после логина вар_дамп сессий и куки.
var_dump ($_SESSION);
var_dump($_COOKIE);
Через EDGE всё отлично, выводится то что надо.
array(4) { ["auth"]=> bool(true) ["name"]=> string(6) "crash2" ["id"]=> string(1) "8" ["statusName"]=> string(5) "admin" }
array(1) { ["PHPSESSID"]=> string(32) "8287c84fc539e39f58d611db7540d9b5" }
Через Yandex получаю это:
array(0) { }
array(3) { ["_ym_d"]=> string(10) "1654767519" ["_ym_uid"]=> string(18) "165476751977150794" ["MYPROJECT"]=> string(32) "090efd05c6a0cde49f8c3384a87d9f90" }
Куки в настройках браузера включены.. Возможно, наши системные администраторы как-то ограничили.. (???, не буду нести бред, не понимаю). Вопрос: в чём может быть причина и как на ЭТО проверять после логина других пользователей? Вдруг у них такая же фигня будет, будет писать что всё отлично и вы залогинились, а затем - удаление сессии..
Ответы (1 шт):
- Проверьте, сохраняется ли на компе кука PHPSESSID?

- Если нет, то что по этому поводу говорит Хром?

- Работает ли авторизация в режиме инкогнито Хрома?
Чтобы такая проблема не возникала, сделайте в .htaccess перенаправление:
RewriteCond %{SERVER_PORT} 80
RewriteCond %{SERVER_NAME} ^site\.com$ [NC]
RewriteRule ^(.*)$ https://site.com/$1 [R=301,L]
Укажите здесь имя своего сайта.