У меня возникли проблемы с сессиями на несколько дней теперь в моей производственной средеPHP смешиваясь сессий
Я уже пытались найти решение в тонны и тонны ответов здесь в переполнение стека, но ни один, кажется, работать для меня
- бревен Пользователь А в
- бревен Пользователь B. Теперь, когда вы вернетесь к User A его сеанс был перезаписан пользователем B. Таким образом, у меня есть два пользователей доступ "к же сессия.
Боковые ноты:
- У меня есть session_start() на самом верху каждой страницы с помощью переменных сеанса
- Я использую протокол HTTPS с действительным сертификатом
- Cache не проблема , Я уже пытался установить заголовки, чтобы избежать кеширования
Я использую PHP 5.4 (я использовал 5.6 раньше и понижен, надеясь, что это решит мою проблему) и это мой php.ini:
session.save_path = "/ TMP"
session.cookie_secure = 1
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.entropy_length = 32
session.cache_limiter = NoCache
session.cache_expire = 180
session.hash_function = sha256
И это основная структура моей страницы аутентификации:
session_start();
... // after connection with the database I retrieve id and name
$_SESSION['id_logado'] = $user_id;
$_SESSION['nome_logado'] = $user_name;
Я уже дважды проверял каждую строку кода на каждой странице. Нет имени переменной $ id_logado, поэтому оно не должно мешать этому. Кэш , вероятно, не проблема, потому что у меня есть заголовки, чтобы избежать кеширования сразу после session_start. Я связался с Bluehost, чтобы попросить о помощи, и, конечно, они понятия не имеют и обвиняют меня.
Ваше описание того, что вы считаете проблемой, неточно. Когда пользователь B регистрирует свою информацию, пользователь заменяет его как информацию. Они ничего не «разделяют». Что вы ожидаете от вас, когда пользователь B входит в систему? Если вы считаете, что есть действительно проблема, пожалуйста, покажите нам этот код. – Dave
Только 1 пользователь должен войти в систему каждый сеанс или моя логика здесь неправильна? –
Можете ли вы объяснить, почему вы считаете, что существует сеанс «singleton» как он где? Как вы пришли к такому выводу, что сеанс пользователя А заменяется? – Pogrindis