Bitrix Help
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Главная » Ошибки Битрикс » Secure Cookie в Битрикс: как включить флаг Secure для PHPSESSID и других cookies

Secure Cookie в Битрикс: как включить флаг Secure для PHPSESSID и других cookies

Обновлено: 2026 • Раздел: Ошибки Битрикс


При проведении аудита безопасности сайта на 1С-Битрикс нередко встречается замечание об отсутствии атрибута Secure у сессионных cookies. Такая проблема может быть обнаружена автоматическими сканерами безопасности, пентестерами или средствами анализа веб-приложений. В данной статье разберем, что такое Secure Cookie, почему отсутствие этого атрибута считается уязвимостью и как правильно настроить его в Битрикс.

Что такое атрибут Secure

Атрибут Secure указывает браузеру, что cookie должна передаваться только по защищенному протоколу HTTPS. Без данного атрибута браузер может отправить cookie и по обычному HTTP-соединению, что создает риск перехвата данных злоумышленником при атаке типа Man-in-the-Middle (MITM). Пример небезопасной cookie:
Set-Cookie: PHPSESSID=abcdef123456; path=/
Пример безопасной cookie:
Set-Cookie: PHPSESSID=abcdef123456; path=/; Secure; HttpOnly; SameSite=Lax

Почему это считается уязвимостью

Если сессионная cookie передается без флага Secure, злоумышленник может попытаться перехватить идентификатор сессии пользователя и получить доступ к его учетной записи. Подобные замечания часто встречаются в отчетах: Особенно критично это для административной панели Битрикс и личных кабинетов пользователей. Проверить ответ сервера можно через curl:
curl -k -I https://example.ru/
Если в ответе присутствует строка:
Set-Cookie: PHPSESSID=...
и отсутствует атрибут Secure, настройку необходимо исправить. Откройте административную часть сайта:
  1. Настройки
  2. Настройки продукта
  3. Настройки модулей
  4. Главный модуль
В разделе настроек безопасности включите использование защищенных cookies. После сохранения настроек новые сессии будут создаваться с флагом Secure.

Настройка через php.ini

Если требуется включить защиту на уровне PHP, добавьте следующие параметры:
session.cookie_secure = On
session.cookie_httponly = On
session.cookie_samesite = Lax
После изменения конфигурации необходимо перезапустить PHP-FPM или веб-сервер.

Настройка через .settings.php

Для современных версий Битрикс можно указать параметры сессий в файле настройки:
<?php

'session' => [
    'value' => [
        'mode' => 'default',
        'handlers' => [
            'general' => [
                'type' => 'native',
                'options' => [
                    'cookie_secure' => true,
                    'cookie_httponly' => true,
                    'cookie_samesite' => 'Lax',
                ],
            ],
        ],
    ],
],

Обязательный редирект на HTTPS

Перед включением Secure Cookie необходимо убедиться, что весь сайт работает исключительно по HTTPS. Для nginx можно использовать следующий редирект:
server {
    listen 80;
    server_name example.ru www.example.ru;
    return 301 https://$host$request_uri;
}
Если сайт доступен одновременно по HTTP и HTTPS, после включения Secure могут возникнуть проблемы с авторизацией пользователей.

Дополнительные меры защиты

Помимо Secure рекомендуется использовать:

Заключение

Отсутствие атрибута Secure у cookies в Битрикс является распространенным замечанием при проведении аудита безопасности. Исправление обычно сводится к включению защищенных cookies, настройке HTTPS и установке дополнительных параметров безопасности для сессий. После внедрения настроек рекомендуется повторно проверить заголовки Set-Cookie через браузер или curl и убедиться, что для всех сессионных cookies присутствует атрибут Secure.
Услуги


База знаний