PHP сеанс не разрушается на нескольких доменах - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть сайт с несколькими поддоменами, где уничтожение сеанса на поддомене не уничтожает сеанс основного домена. Вот сценарий:

Когда я вхожу через example.com, он проверяет, присутствует ли какой-либо поддомен с данными для входа, и перенаправляет на панель управления с помощью subdomain.example.com. Теперь, если я выхожу из этого субдомена, он выходит из меня и уничтожает сеанс субдомена, но если я удаляю субдомен из URL и перезагружаю страницу, он возвращает меня на панель управления.

Я следовал Это , но нет успеха

Вот мой выход из системы. php page

session_start();
$baseHostname = getCurrentBaseUrl();
if (isset($_COOKIE['PHPSESSID'])) {
  setcookie("PHPSESSID", "", time()-3600, "/", $baseHostname);
}
session_destroy();
if(isset($_SESSION[SESSION_PREFIX."user"]))
   unset($_SESSION[SESSION_PREFIX."user"]);
redirect("loginForm.php");

loginForm.php имеет условие, которое проверяет, существует ли сессия, если да, а затем перенаправляет на панель мониторинга.

Также я установил ini_set('session.cookie_domain', $baseHostname); в своем заголовке, поэтому используйте одинаковые сеансовые куки для всех доменов.

Спасибо!

...