8  /  381
Справочник

Как правильно и безопасно кастомизировать коробочные продукты

Просмотров: 775
Дата последнего изменения: 19.03.2025
Марина Павлова

Ошибки в кастомизации приводят к потере данных, нарушают стабильную работу системы, создают уязвимости в безопасности и сложности в установке обновлений. Это критично, потому что обновления необходимы для защиты сайта от угроз и утечки данных.

За защиту данных пользователей на сайте отвечает администратор (ст. 19 Федерального закона N 152-ФЗ «О персональных данных»). С 30 мая 2025 года штраф за утечку данных для должностного лица составит от 200 тыс. до 400 тысяч рублей (Федеральный закон от 30.11.2024 N 420-ФЗ «О внесении изменений в Кодекс Российской Федерации об административных правонарушениях»).

Утечка данных может навредить репутации вашего проекта и снизить доверие пользователей. Обновления — это не формальность, а способ избежать реальных рисков. Чтобы сайт работал стабильно, а персональные данные пользователей не подвергались угрозам, кастомизируйте коробочные продукты на платформе Bitrix Framework правильно и регулярно устанавливайте обновления.

Как кастомизировать правильно

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

  • устанавливать обновления без потери изменений,
  • избегать конфликтов с новыми версиями продукта,
  • обеспечивать стабильную и безопасную работу сайта.

Пройдите обучение

Рекомендуем пройти курсы по разработке на платформе Bitrix Framework, чтобы лучше понимать возможности платформы и избежать ошибок. Если разработкой занимается сторонний специалист, убедитесь, что у него есть сертификат о прохождении обучения.
Учебные онлайн-курсы
Академия Битрикс24

Как подготовить рабочую среду перед кастомизацией

  1. Регулярно создавайте резервные копии. Делайте копии не реже одного раза в день. Это защитит от потери данных в случае ошибок.
    Создание резервной копии

  2. Используйте установку для разработки. Настройте отдельную среду для разработки. Это предотвращает случайное выполнение опасных действий на боевом сайте и упрощает отладку.
    Установка для разработки

  3. Проверяйте доработки на тестовой копии. Переносите их на боевой сайт только после тщательного тестирования.

Где размещать изменения

Изменения рекомендуем хранить в папке /local/. Это обеспечит четкое разделение между системными файлами и кастомизацией. Папка /local/ не перезаписывается при обновлениях системы, поэтому ваши доработки останутся нетронутыми. Такой подход создает организованную структуру проекта, которая упрощает поддержку, масштабирование и обновление системы.
Подробнее в статье Папка /local.

Нельзя вносить изменения в ядро системы

Не изменяйте файлы ядра системы в папках:

  1. /bitrix/modules/
  2. /bitrix/components/bitrix/
  3. /bitrix/activities/bitrix/
  4. /bitrix/blocks/bitrix/
  5. /bitrix/gadgets/bitrix/
  6. /bitrix/wizards/bitrix/
  7. /bitrix/routes/
  8. /bitrix/js/

Изменение файлов ядра приведет:

  • к потере изменений при обновлении,
  • лишению права на техническую поддержку,
  • возможной неработоспособности системы.
Подробнее в статье Основные правила работы с Bitrix Framework.

Что не рекомендуется делать

  1. Не пишите прямые SQL-запросы к базе данных. Используйте документированное API продукта. Прямые SQL-запросы обходят встроенные механизмы безопасности и валидации. Это может привести к уязвимости системы и несогласованности данных.
  2. Не добавляйте HTML-код в PHP-логику. Разделяйте логику и представление. HTML-код должен находиться в шаблонах, а не в PHP-файлах.

Дополнительные рекомендации

  1. Используйте систему контроля версий. Это поможет отслеживать изменения и восстанавливать их при необходимости. Убедитесь, что к файлам репозитория нет доступа через веб-сервер.
  2. Защищайте файлы от прямого доступа. Добавьте следующий код в начало всех файлов, которые не должны выполняться напрямую:
    <?php
    if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {die();}
    ?>
  3. Регулярно тестируйте изменения. Перед внедрением доработок на боевой сайт тестируйте их в изолированной среде. Это помогает выявить возможные ошибки и убедиться в корректности работы системы.
  4. Используйте кеширование. Оптимизируйте производительность с помощью эффективного использования кеширования.

Инструменты кастомизации

Продукт предоставляет инструменты для кастомизации под любые задачи: от no-code решений до работы с API и кодом Bitrix Framework. Выберите подходящий инструмент в зависимости от ваших целей и уровня сложности проекта.

No-code и Low-code инструменты

No-code инструменты позволяют настраивать и автоматизировать процессы без написания кода, Low-code — требуют минимального программирования. Решения, реализованные такими инструментами, не требуют дополнительной поддержки.
Роботы и триггеры
Смарт-процессы
Бизнес-процессы
Цифровые рабочие места

Пользовательские действия в бизнес-процессах

Если базовых возможностей бизнес-процессов недостаточно, создайте пользовательские действия. Это позволит автоматизировать уникальные задачи, например интеграцию с внешними системами, выполнение сложных расчетов или отправку уведомлений через нестандартные каналы.
Как создать пользовательские действия

REST API

Битрикс24 предлагает разработчикам инструменты для создания интеграций, автоматизации рабочих процессов и кастомизации пользовательских сценариев через REST API.
Документация REST API

Обработчики событий

Обработчики событий добавляют дополнительную логику в существующие процессы. Они позволяют расширить функционал, реагируя на события платформы.
Документация о событиях

Агенты

Агенты выполняют задачи в фоновом режиме по расписанию или при определенных условиях. Используйте их для периодических операций, которые не должны мешать основному потоку работы.
Агенты и их использование

Пользовательские типы полей

Создавайте пользовательские типы полей, чтобы расширить возможности стандартных объектов: добавить специализированные данные и настраиваемую логику обработки.
Класс пользовательского поля

CSS и JS кастомизация

Используйте CSS и JavaScript для изменения внешнего вида и поведения сайта. Подключайте стили и скрипты через Bitrix\Main\Page\Asset, чтобы избежать конфликтов.
О способе организации JS и CSS кода в статье Расширения.

Административная часть

Кастомизируйте административную часть для удобства управления системой:

  • меняйте структуру меню,
  • добавляйте новые страницы,
  • настраивайте формы.
Кастомизация административной части

Кастомизация компонентов

Адаптируйте шаблоны и компоненты под нужды проекта. Можно модифицировать готовые решения или создавать новые элементы интерфейса и функционала.
Кастомизация шаблонов компонентов
Кастомизация компонентов

Создание компонентов и модулей

Собственные компоненты и модули — это способ организованно добавлять новый функционал в систему, когда другие способы не подходят для реализации задач.
Создание компонентов
Создание собственных модулей

0
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии