← Назад к вопросам
Что такое browser only cookie?
2.3 Middle🔥 111 комментариев
#Python Core#Soft Skills
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Browser-only Cookies: Защита от XSS атак
Browser-only cookie (HTTPOnly cookie) — это атрибут безопасности, который ограничивает доступ к cookie-файлу только со стороны браузера. JavaScript-код на странице не может получить доступ к такой cookie, что защищает от атак XSS (Cross-Site Scripting).
Что такое XSS атака?
XSS (Cross-Site Scripting) — это уязвимость безопасности, при которой злоумышленник внедряет вредоносный JavaScript-код на веб-страницу. Если у него есть доступ к cookie с помощью JavaScript, он может украсть важные данные, такие как токен сессии или данные пользователя.
Как работает HTTPOnly атрибут
Когда на сервере устанавливается cookie с атрибутом HTTPOnly, браузер передаёт эту cookie только в HTTP-запросах и не позволяет JavaScript-коду получить к ней доступ:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/login')
def login():
response = make_response("Login successful")
response.set_cookie(
'session_token',
'abc123xyz',
httponly=True,
secure=True,
samesite='Strict'
)
return response
В Django то же самое:
from django.http import HttpResponse
def login(request):
response = HttpResponse("Login successful")
response.set_cookie(
'session_token',
'abc123xyz',
httponly=True,
secure=True,
samesite='Strict'
)
return response
Атрибуты безопасности Cookie
- HTTPOnly — JavaScript не может получить доступ
- Secure — передаётся только по HTTPS
- SameSite — защита от CSRF атак. Может быть Strict, Lax или None
Что может сделать JavaScript при наличии неозащищённой cookie?
Если cookie установлена БЕЗ HTTPOnly, вредоносный код может:
- Украсть токен сессии
- Отправить его на сервер атакующего
- Выдавать себя за легитимного пользователя
- Совершать действия от его имени
Лучшие практики
- Всегда использовать HTTPOnly для чувствительных данных
- Всегда использовать Secure для HTTPS соединений
- Валидировать входные данные на сервере для предотвращения XSS
- Использовать Content Security Policy (CSP) как дополнительный уровень защиты
- Санитизировать пользовательский контент перед выводом на страницу
HTTPOnly cookies — это один из ключевых механизмов защиты веб-приложений от XSS атак.