#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 я получил название этой проблемы «пересечение данных сеанса». Это очень дорого для любого сервера совместного хостинга. Я также тестировал свой скрипт на многих общих хостингах и, наконец, обнаружил, что только мой текущий хостинг-сервер ведет себя подобным образом. Итак, вся проблема решена после переноса моего сервера хостинга.