@run182

Как почистить cookies у клиентов через PHP или Javascript?

Происходит задваивание сессий на сайту 1C-Bitrix. Были проблемы в настройках - их решили.
Но у клиентов нужно почистить куки. Как можно это сделать (но не просить их об этом)?
Пробовали так, но не имеет эффекта:
session_abort();
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}
session_destroy();
unset($_SESSION);
unset($_COOKIE);
  • Вопрос задан
  • 1303 просмотра
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Чтобы удалить куку, недостаточно имени куки и передачи Expiration
Нужно послать в браузер куку точно с такими же параметрами, с которыми она была установлена
Тут влияют все флаги: path, domain, secure, httponly, samesite
Например PHPSESSID для site.ru и PHPSESSID для .site.ru это две разных куки.
То есть вам надо точно определить какую куку удалить с учётом флагов с которыми она была установлена. Посмотреть это можно в dev tools, во вкладке Application -> Storage -> cookies
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
17 нояб. 2024, в 18:17
1500 руб./за проект
17 нояб. 2024, в 17:48
3000 руб./за проект