Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Frame Protection: Руководство разработчика». Вы узнаете экспертные методики работы с битрикс и научитесь избегать типичных ошибок начинающих разработчиков.
—
title: Защита от фреймов
—
Фреймы <frame> и <iframe> — это HTML-элементы, которые позволяют встраивать одну страницу в другую. Например, с их помощью можно показать часть вашего сайта на стороннем ресурсе.
Защита от фреймов предотвращает загрузку страниц вашего сайта через <frame> или <iframe> и защищает от кликджекинга — атаки, при которой невидимые элементы накладывают поверх видимых, чтобы обмануть пользователей.
Как включить защиту от фреймов на сайте
1. Откройте административный раздел сайта.
2. Перейдите в Настройки > Проактивная защита > Защита от фреймов.
3. Нажмите «Включить ограничение работы во фрейме».
4. Добавьте исключения для разделов. Некоторые сервисы, например Яндекс.Метрика, используют фреймы для корректной работы. Если защита от фреймов включена, эти сервисы могут перестать функционировать.
{width=904px height=588px}
{width=799px height=490px}
Как работает защита от фреймов в BitrixVM
BitrixVM — это виртуальная машина для работы с продуктами 1С-Битрикс. Она включает преднастроенные серверные компоненты, такие как NGINX и PHP.
В BitrixVM защита от фреймов настроена через конфигурационный файл NGINX /etc/nginx/bx/conf/general-add_header.conf. Путь к конфигурационному файлу NGINX может отличаться в зависимости от версии BitrixVM. В этом файле задан HTTP-заголовок X-Frame-Options. Заголовок указывает браузеру, разрешено ли загружать страницы во фреймах:
-
DENY— загрузка страниц во фреймах запрещена,
-
SAMEORIGIN— загрузка разрешена только на том же домене, что и страница.
Рекомендуемое значение SAMEORIGIN, но для полной изоляции контента можно использовать DENY.
add_header X-Frame-Options SAMEORIGIN;Конфликт настроек: защита от фреймов на сайте и в BitrixVM
Если защита от фреймов включена и на сайте, и в конфигурации BitrixVM, может возникнуть конфликт. На сайте защита добавляет заголовок X-Frame-Options: SAMEORIGIN, а в BitrixVM конфигурация nginx также добавляет этот заголовок. В результате браузер получит два одинаковых заголовка. Это может привести к непредсказуемому поведению, так как браузеры по-разному обрабатывают дубликаты заголовков.
Как избежать дублирования заголовков
Используйте только один инструмент для управления защитой. Рекомендуем оставить настройку на сайте, чтобы не менять регулярно конфигурационные файлы сервера.
1. В BitrixVM откройте файл /etc/nginx/bx/conf/general-add_header.conf.
2. С помощью символа # закомментируйте строку с заголовком X-Frame-Options. Это отключит действие строки в конфигурации.
#add_header X-Frame-Options SAMEORIGIN;3. Настройте защиту от фреймов на сайте.
Теперь заголовок будет работать корректно, а исключения можно добавлять на сайте без изменения конфигурационных файлов.
💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Frame Protection: Руководство разработчика»:
Использование современных стандартов D7 при работе с битрикс позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru