Middle Безопасность Обязательно

Cookie, сессии и авторизация

Безопасность cookie конфигурируется в секции cookies файла .settings.php установкой директив secure, http_only и политики samesite. Для исключения подделки клиентских параметров применяются цифровая подпись Bitrix\Main\Security\Sign\Signer либо зашифрованные куки CryptoCookie, требующие совпадения ключа crypto_key на всех веб-серверах проекта.

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    HttpOnly
  • 2
    Secure
  • 3
    SameSite

Материалы

Проверь себя

Пентест пишет, что cookie сайта уходят без Secure, хотя проект давно на HTTPS. Почему?

Класс Cookie берёт умолчания из секции cookies в .settings.php, где secure по умолчанию false. Нужна секция с secure => true, тогда все объекты Cookie наследуют флаг без правок в коде.

Что сломается, если в обработчике добавить cookie через addCookie() и тут же прочитать её через getCookie()?

Ничего не прочитается: cookie попадает в ответ, а в объекте запроса появится только на следующем хите. Значение в том же запросе нужно брать из переменной, а не из cookie.

На двух серверах за балансировщиком защищённая cookie расшифровывается через раз. Где искать причину?

В crypto_key в .settings.php: он должен совпадать на всех серверах, иначе CryptoCookie, выписанная одним сервером, не читается другим.

Чем CryptoCookie отличается от Signer и когда достаточно подписи?

CryptoCookie шифрует значение, его нельзя прочитать. Signer только подписывает: значение видно, но подменить его нельзя. Если секретность не нужна, хватает подписи, и это дешевле.

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти