SEOFAQ Telegram, маркетинг и SEO Канал SEOFAQT в мессенджере Telegram

Все чатыМногие не совсем понимают, как работают cookies

 1111  


Многие не совсем понимают, как работают cookies.

Вот основы, которые необходимо знать, чтобы лучше использовать их в своих проектах.

Cookies - это просто HTTP-заголовки.

Вы можете отправить запрос и добавить cookie вручную с помощью любого HTTP-клиента:

--header "Cookie: mycookie=cookievalue" http://localhost:8000

Волшебство заключается в том, как браузеры обрабатывают куки.

Браузеры автоматически добавляют файлы cookie, которые хранятся у них в памяти, к HTTP-запросам, которые они выполняют.

Но существуют правила.

Это очень полезно для аутентификации пользователей и выполнения API-запросов!

Но Интернет - не безопасное место. Cookies могут быть использованы хакерами, чтобы выдавать себя за пользователей!

Поэтому браузеры проявляют к ним повышенную осторожность. Существует множество свойств для обеспечения их безопасности:

— Expires/Max-Age - cookie автоматически удаляется по истечении указанного времени.

— HTTPOnly - куки нельзя прочитать с помощью кода JavaScript. Доступ к нему имеет только браузер.

— Secure - cookie отправляется только при запросе по HTTPS/SSL. Чувствительные значения находятся в безопасности, потому что их не может прочитать " посредник".

При разработке backend сервера, ВЫ отвечаете за установку этих флагов.

Чтобы указать браузеру сохранить cookie, просто добавьте заголовок Set-Cookie в один из ваших HTTP-ответов:

200 OK

content-length: 4

content-type: application/json

date: Tue, 08 Nov 2022 09:41:42 GMT

server: uvicorn

set-cookie: mycookie=cookievalue; Path=/; SameSite=lax

Для чувствительных значений, таких как сессия пользователя, флаги HTTPOnly и Secure являются КРИТИЧЕСКИ важными.

200 OK

content-length: 4

content-type: application/json

date: Tue, 08 Nov 2022 09:45:59 GMT

server: uvicorn

set-cookie: user_session=SENSITIVE_TOKEN; HttpOnly; Path=/; SameSite=lax; Secure

В противном случае существует риск, что злоумышленники могут их украсть!

Речь идет об атаке Cross-Site Request Forgery (CSRF). В то время были реализованы специальные меры защиты для предотвращения этого.

Поэтому браузеры ввели новый куки флаг: SameSite.

SameSite сообщает браузеру, следует ли ему отправлять cookie или нет в межсайтовом контексте.

Значение по умолчанию, Lax, отправляет cookie, только если вы находитесь на одном и том же сайте.

Это защищает от большинства атак CSRF.

Значение None, с другой стороны, является "open-bar": cookie отправляется всегда. Это то, что используют инструменты аналитики для отслеживания вас, пресловутые сторонние куки (third-party cookies).

@MikeBlazerX

Ссылки из поста:
https://twitter.com/fvoron/status/1589930616371679...
https://t.me/MikeBlazerX

Источник новости https://t.me/mikeblazerx/807...