Проверяет понимание механизма HttpOnly-cookie и способов их удаления, включая сценарии без доступа к сети.
HttpOnly — это флаг cookie, который запрещает доступ к ней из JavaScript через document.cookie. Это защита от XSS-атак, чтобы злоумышленник не мог украсть сессионную cookie. Из-за этого удалить такую cookie через JS нельзя — браузер просто не даст к ней доступ.
Сервер должен отправить заголовок Set-Cookie с тем же именем, путём и доменом, но с пустым значением и датой в прошлом:
Set-Cookie: sessionId=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; Secure
Браузер увидит просроченную дату и удалит cookie. Важно совпадение Path и Domain, иначе будет создана новая cookie, а старая останется.
Когда сервер недоступен, отправить Set-Cookie невозможно. Остаются локальные варианты:
res.cookie('sessionId', '', {
httpOnly: true,
secure: true,
sameSite: 'strict',
path: '/',
expires: new Date(0)
});
res.end();
Итог: удалять HttpOnly-cookie корректно только через серверный Set-Cookie с истёкшей датой. Если сети нет — используйте DevTools или очистку cookie в браузере, но это уже ручное вмешательство, а не программное решение.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию