← Назад к вопросам

Что такое 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 атак.

Что такое browser only cookie? | PrepBro