Быстрое и удобное уведомление о cookie для сайтов на 1С-Битрикс. Модуль «Cookie менеджер Про» от Первый линк (1lsite.ru) покажет посетителям понятный баннер, даст выбор категорий куки и автоматически приведёт сайт в соответствие с требованиями о персональных данных.
Зачем нужен152-ФЗ требует, чтобы перед сбором и обработкой cookie посетитель дал информированное согласие — и мог отозвать его. Модуль решает это «из коробки»: баннер появляется при первом визите, а выбор сохраняется на срок, который вы задаёте.
Возможности- Три категории cookie — Необходимые, Аналитические, Маркетинговые.
- Кнопки «Принять всё», «Только необходимые», «Настроить», «Отменить всё».
- Consent mode для GTM/GA4 — согласие сразу учитывается в веб-аналитике.
- Самоблокировка трекеров по маскам URL до получения согласия.
- Повторное открытие настроек — посетитель может изменить выбор в любой момент.
- Логирование согласия в базу данных (статус, IP, время).
- Настраиваемый срок действия согласия, темы панели (система/светлая/тёмная), три позиции баннера и гибкая настройка цветов.
- Lazy-load сценариев по категориям и серверный хелпер hasConsent().
- Адаптивный дизайн и анимация.
- Сложный механизм согласия, но простая установка.
- Русскоязычный интерфейс и поддержка.
Лёгкий модуль баннера согласия на обработку cookie для CMS 1С-Битрикс. Возможность настроить
согласие по категориям (consent manager) с автоматической блокировкой сторонних трекеров до
получения согласия и логированием решений посетителей.
- Современный адаптивный дизайн баннера и модальной панели настроек.
- Три позиции баннера: слева внизу, по центру внизу (на всю ширину), справа внизу.
- Настраиваемые цвета баннера (фон и текст) в панели администрирования.
- Кнопки «Принять всё», «Только необходимые», «Настроить», «Отменить всё».
- Категории cookie: Необходимые (обязательные, нельзя отключить), Аналитические
(Яндекс Метрика, GA4), Маркетинговые (GTM, VK, Meta/Facebook, TikTok).
- Consent Mode для GTM/GA4: по умолчанию «denied», обновление после согласия.
- Самоблокировка трекеров по маскам URL до получения согласия (перехват динамической
загрузки скриптов) — настраивается в админке.
- Логирование согласия посетителей в БД (таблица b_llink_cookiepro_consent): статус,
категории, IP, User-Agent, дата.
- Настраиваемый срок действия согласия (в днях).
- Темы панели: как в системе / светлая / тёмная.
- Lazy-load сценариев по категориям (data-cookie-consent="analytics" и loadWhenAllowed).
- Повторное открытие панели настроек с помощью settingsLink() / data-cookie-settings-open.
- устранена причина пустого журнала: CSRF-токен передавался с префиксом «sessid=» и сервер отклонял каждый запрос (invalid_csrf) — теперь отправляется raw-значение bitrix_sessid();
- та же нормализация применена во внутреннем коде контроллера (привязка nonce/HMAC к сессии).
- запись принимается только при наличии браузерного сигнала происхождения (Sec-Fetch-Site либо Origin/Referer); полностью «беспризнаковые» вызовы (curl и подобные) отклоняются;
- осознанный компромисс: privacy-клиенты, вырезающие оба заголовка, не запишут согласие — ради заметно более высокой цены офф-сайтовой автоматизации;
- для лимита по IP за reverse-proxy нужно задать доверенные прокси Bitrix («trusted_proxies»).
- проверка происхождения запроса усилена заголовком Sec-Fetch-Site (его проставляет сам браузер): cross-site записи отклоняются, а запросы без заголовка принимаются, чтобы не терять согласия;
- для лимита по IP за reverse-proxy нужно задать доверенные прокси Bitrix («trusted_proxies»);
- уточнена документация: Sec-Fetch-Site и подпись — это барьеры и привязка значения к сессии, а не аутентификация посетителя.
- добавлена проверка происхождения запроса (same-site Origin/Referer): записи с чужого хоста отклоняются, а при отсутствии заголовка логирование сохраняется;
- добавлен лимит частоты по сессии (не более 20 записей в минуту) поверх лимитов по IP и по сайту;
- уточнена документация: подпись привязывает значение согласия к сессии, а не аутентифицирует посетителя.
- сайтовый лимит частоты перенесён в per-site кэш Bitrix: при всплеске запись не блокируется навсегда, а мягко пропускается с сигналом в админку, и логирование восстанавливается само;
- User-Agent нормализуется перед записью (только печатаемые ASCII, не длиннее 255 символов);
- уточнена документация: подпись привязывает значение согласия к сессии, а не аутентифицирует посетителя.
- подпись запроса логирования теперь выдаётся по значению согласия, а не по статусу, и проверяется на сервере — подделать запись без страницы, отрисованной для той же сессии, нельзя;
- сервер сохраняет только канонический набор категорий, применяет явные фильтры CSRF и POST и учитывает серверный выключатель логирования;
- общий лимит частоты хранится в файле сайта (без общего /tmp и без следования символьным ссылкам), поэтому один сайт на shared-хостинге не влияет на другой.
- исправлена пагинация на закладке «Логи согласий» — переходы по страницам теперь работают корректно;
- добавлена смена количества выводимых строк (10, 20, 50 или 100 записей);
- навигация сохраняет параметры модуля и не теряется внутри формы настроек.
Установка
- Установите модуль через Настройки → Настройки продукта → Модули (или из маркетплейса).
- При установке модуль автоматически регистрируется в /bitrix/php_interface/init.php
(с маркерами llink.cookiepro auto-bootstrap) — баннер начинает работать сразу,
без правки шаблона. При удалении модуля блок из init.php убирается автоматически.
- Настройте баннер в Настройки → Настройки продукта → Настройки модулей → «Cookie Banner».
- Очистите кеш при необходимости.
Баннер внедряется автоматически на всех публичных страницах через событие
OnEndBufferContent — правка шаблона не требуется. Достаточно установить и включить
модуль в админке (опция «Баннер активен»), затем сохранить нужные настройки.
Ручной вызов (если нужно управлять порядком или внедрять точечно) — в header.php шаблона:
<?php
use Bitrix\Main\Loader;
if (Loader::includeModule('llink.cookiepro')) {
\llink_cookiepro::addBanner();
}
?> |
Loader::includeModule() подключает include.php модуля (где объявлен класс llink_cookiepro).
Без этого вызова класс не будет доступен в шаблоне.
Вывод ссылки (кнопки) «Настроить cookie» в подвале сайта — позволяет открыть панель настроек
повторно, даже после того как согласие уже дано:
<?= \llink_cookiepro::settingsLink() ?> |
Настройки (админка)
Настройки → Настройки продукта → Настройки модулей → «Cookie Banner»:
- URL страницы с политикой cookie
- Текст баннера
- Позиция баннера
- Цвет фона и текста баннера
- Тексты кнопок («Принять всё», «Только необходимые», «Настроить», «Отменить всё», «Сохранить выбор»)
- Заголовок и вступительный текст окна настроек
- Текст ссылки «Настроить cookie» в подвале
- Срок действия согласия (в днях)
- Тема панели (как в системе / светлая / тёмная)
- Логировать согласие посетителей (да/нет)
- Маски URL трекеров для самоблокировки (по одной в строке)
Согласие хранится в cookie cookie_consent в виде JSON:
cookie_consent = 1:{"necessary":true,"analytics":false,"marketing":false} |
- Необходимые — всегда включены, отключить нельзя (авторизация, корзина, CSRF).
- Аналитические — Яндекс Метрика, Google Analytics.
- Маркетинговые — Google Tag Manager, VK, Facebook (Meta), TikTok.
Пользователь может принять всё, принять только необходимые, отменить всё или настроить по
категориям в панели.
Хелпер hasConsent($category) позволяет подключить трекеры только после согласия:
<?php if (\llink_cookiepro::hasConsent('necessary')): ?>
<!-- основные скрипты сайта -->
<?php endif; ?>
<?php if (\llink_cookiepro::hasConsent('analytics')): ?>
<!-- счётчик Яндекс.Метрики / Google Analytics -->
<?php endif; ?>
<?php if (\llink_cookiepro::hasConsent('marketing')): ?>
<!-- Google Tag Manager / VK / Meta (Facebook) / TikTok -->
<?php endif; ?> |
consent-manager.js задаёт GTM/GA4 consent mode по умолчанию как denied до загрузки
трекеров и выставляет window.ConsentManager с методами hasConsent, acceptAll,
necessaryOnly, declineAll, save, getState, getStatus, loadWhenAllowed.
Дополнительный код согласия для GTM/GA4/Метрики/VK/Facebook/TikTok в шаблоне не нужен.
Модуль перехватывает динамическую загрузку скриптов трекеров (appendChild/insertBefore),
URL которых совпадает с масками из списка blocklist, и откладывает их загрузку до получения
согласия. После согласия отложенные скрипты подгружаются автоматически. Скрипты, внедрённые
непосредственно в HTML (не через JS) и попадающие в страницу до инициализации, рекомендуется
ограничивать серверно через hasConsent().
Скрипт с атрибутом data-cookie-consent="analytics" загрузится только после согласия на
соответствующую категорию. Укажите реальный путь в data-cookie-src (без обычного src,
чтобы скрипт не выполнился до обработки менеджером согласий):
<script data-cookie-consent="analytics" data-cookie-src="/analytics.js"></script> |
Программная загрузка:
window.ConsentManager.loadWhenAllowed('/metrika.js', 'analytics'); |
Повторное открытие панели настроек: любой элемент с атрибутом data-cookie-settings-open
откроет панель, либо воспользуйтесь window.ConsentManager.openSettings().
Решение посетителя записывается в таблицу b_llink_cookiepro_consent: идентификатор согласия,
статус (accepted/partial/declined), категории, IP, User-Agent, дата, а также USER_ID
если пользователь авторизован. По умолчанию включено; отключается в настройках модуля.
- PHP 8.2+
- 1С-Битрикс CMS 20.0+
График работы поддержки: пн-пт 10:00-18:00, время реакции на обращение 1-3 раб.дня в порядке очерди.
Соответствие сайта 152-ФЗ после установки баннера можете проверить на нашем сайте https://1lsite.ru/company/check152/
Документация модуля: https://1lsite.ru/blog/modul-pervyy-link-cookie-menedzher-pro/
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.