как безопасно и эффективно удалить все cookies с домена в javascript
Пример как удалить все cookies с текущего домена:
function deleteAllCookies() {
// Получаем все cookies в виде строки
let cookies = document.cookie.split(";");
// Обходим все cookies
for (let i = 0; i < cookies.length; i++) {
let cookie = cookies[i];
// Получаем имя cookie, удаляя пробелы в начале
let cookieName = cookie.split("=")[0].trim();
// Удаляем cookie, устанавливая дату истечения
// Здесь важно указать тот же Path, с которым cookie была установлена
document.cookie = cookieName + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
// Если cookie имеет определенный Domain, добавляем его
// Пример: document.cookie = cookieName + "=; expires= Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=example.com";
}
}
// Вызовем функцию для удаления всех cookies
deleteAllCookies();
Если cookie была установлена с определенным Path
, вам нужно будет указать этот Path
при удалении. Если вы не уверены в Path
, попробуйте удалить cookie с использованием /
как путь, так как это работает для большинства случаев.
Если cookie была установлена с определенным Domain
, вам также нужно указать его при удалении. Без этого параметра вы не сможете удалить cookie.
Если cookie была установлена с использованием атрибута Secure
, она доступна только через HTTPS, и вы не сможете удалить её через HTTP. HttpOnly
cookie не доступны из JavaScript, поэтому вы не сможете их удалить с помощью клиентского JavaScript.
Если ваша веб-страница содержит сторонние Cookies (например, с других доменов), вы не сможете их удалить через JavaScript из-за политики безопасности браузеров.