fix: update cookie

This commit is contained in:
2025-11-01 11:33:51 +03:00
parent 3ec76e0ecd
commit a1fd7eaebc

View File

@@ -42,8 +42,34 @@ document.cookie = "username=John; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/"
- `max-age` время жизни в секундах (альтернатива `expires`).
- `path=/` на каких страницах доступна cookie (по умолчанию текущий путь).
- `domain` для какого домена (по умолчанию текущий).
- `secure` передавать только по HTTPS.
- `secure` передавать **только по HTTPS**.
- Cookie отправляется **только через зашифрованное** соединение (HTTPS).
- При HTTP-запросах cookie **не будет отправлено**.
- 🔥 Чтобы защитить cookie от перехвата через незашифрованные соединения (MITM-атаки).
- `HttpOnly` - Запрещает доступ к cookie из **JavaScript**
- Cookie доступно **только серверу** (через HTTP-заголовки).
- JS-код не сможет прочитать, изменить или удалить cookie.
- 🔥 Чтобы защитить cookie от кражи при **XSS-атаках**.
- `samesite` защита от CSRF (`Strict`, `Lax`, `None`).
- `Strict` — cookie **отправляется только** при переходе в пределах одного сайта.
- `Lax` — cookie отправляется при **некоторых межсайтовых переходах**, например, при переходе по ссылке (GET-запросы).
- `None` — cookie отправляется всегда, даже с других сайтов, но **требует флага** `Secure`.
- 🔥 Чтобы предотвратить **CSRF-атаки** — когда сайт пытается заставить пользователя отправить запрос на другой домен, используя его авторизационные cookie.
| Параметр | Назначение | Защищает от |
|------------|--------------------------------------------|------------------------|
| `Secure` | Отправлять cookie только по HTTPS | Перехват cookie (MITM) |
| `HttpOnly` | Запретить доступ из JavaScript | XSS |
| `SameSite` | Контролировать межсайтовую отправку cookie | CSRF |
💡 Пример безопасного cookie
```http request
Set-Cookie: sessionId=abc123; Secure; HttpOnly; SameSite=Strict
```
Такой cookie:
- Не будет передан по HTTP,
- Не доступен через JS,
- Не будет отправлен при запросах с других сайтов.
📌 Изменение cookie
Просто перезапишите её с тем же именем: