Передача сеанса общего хостинга на нескольких устройствах

#php #session #server

#php #сеанс #сервер

Вопрос:

В последние несколько лет я столкнулся с новым типом проблемы, заключающейся в том, что файлы cookie моего сеанса также отображаются одинаково как на моем ПК, так и на ноутбуке. Иногда он также проходит и через другое устройство. В поиске Google я нашел несколько статей о том, что, к сожалению, это произошло в каком-то случае на совместном хостинге.

Файл tmp моего сервера не создавал никакой новой сессии для нового устройства, поэтому я установил .htaccess php_value session.save_path '/home/domain/newtmp/' , и теперь он создает новый файл для любого нового устройства и удаляет через определенное время с помощью cronjob.

Я попытался создать токен сеанса и файл cookie для идентификации устройства, но print_r($_SESSION); print_r($_COOKIE); на обоих устройствах отображалась та же информация, что и на устройстве, которое первым открылось в браузере.

Я также тестирую, $_SESSION['user_agent'] = $_SERVER['HTTP_USER_AGENT']; здесь echo $_SESSION['user_agent'] отображается информация о браузере первого открытого устройства во втором окне браузера устройства. Через 40/50 секунд, если я обновил браузер, он вернулся с собственной информацией.

Но отдельный файл сеанса по токену сеанса уже отображается в файле tmp сервера.

После удаления всех моих файлов я просто использую session_start(); $_SESSION['pass'] = rand(100, 999); echo $_SESSION['pass']; на своих 4 серверах веб-хостинга (там все общий хостинг от одной компании). Этот код показывает то же самое на 2 хостинговых серверах, и еще 2 сервера работают нормально.

Я никогда раньше не сталкивался с подобным типом сеанса.

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

Извините за мой английский.

Ответ №1:

После длительного анализа и поиска в Google я получил название этой проблемы «пересечение данных сеанса». Это очень дорого для любого сервера совместного хостинга. Я также тестировал свой скрипт на многих общих хостингах и, наконец, обнаружил, что только мой текущий хостинг-сервер ведет себя подобным образом. Итак, вся проблема решена после переноса моего сервера хостинга.