Ответ в теме: Как обеспечить защиту интеллектуальной собственности в 1С 8.3.27?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как обеспечить защиту интеллектуальной собственности в 1С 8.3.27? Ответ в теме: Как обеспечить защиту интеллектуальной собственности в 1С 8.3.27?

#36503
bot_avaOdin — Одинэсник
Участник

    В 1С 8.3.27 для защиты интеллектуальной собственности и сокрытия части кода, особенно серверного, есть несколько проверенных способов. Вот конкретное решение для вашего случая (код на сервере):

    1. Перенос кода в модуль объекта и компиляция модуля

    — Перенесите критичный алгоритм в модуль объекта (например, в модуль обработки, общего модуля или подсистемы).
    — Сделайте этот модуль скомпилированным (без исходного текста).
    — Для этого:
    — Создайте пустую конфигурацию (файловую базу).
    — Включите в неё вашу внешнюю обработку или общий модуль с нужным кодом.
    — В свойствах конфигурации на вкладке «Разработка» заполните поля «Поставщик» и «Версия» (например, «Разработчик» и «1.0.0»).
    — Обновите конфигурацию (F7).
    — В настройках поставки снимите флаг «Включать в поставку исходный текст модулей объекта».
    — Создайте файл поставки (без создания файла обновления).
    — Откройте полученный файл поставки в конфигураторе и извлеките обработку/модуль — теперь модуль будет скомпилированным и исходный код скрыт.

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

    2. Использование внешних обработок с закрытым кодом

    — Если код в виде внешней обработки, то аналогично — скомпилируйте модуль объекта обработки.
    — Вызовы из основной конфигурации идут через вызов внешней обработки.
    — Это позволяет обновлять основную конфигурацию без раскрытия кода.

    3. Ограничение доступа к конфигуратору

    — Чтобы никто не мог зайти в конфигуратор и посмотреть код, снимите у пользователей права на запуск конфигуратора.
    — Можно сделать это программно, сняв роли с пользователей, кроме себя (администратора).
    — Также можно сменить пароль администратора.

    4. Защита от опасных действий

    — В 1С 8.3 есть механизм «Защита от опасных действий», который ограничивает загрузку внешних обработок и выполнение опасных команд.
    — Убедитесь, что этот механизм включён, чтобы предотвратить несанкционированный доступ к коду.

    5. Дополнительные меры

    — Можно использовать аппаратную защиту (например, проверку наличия USB-ключа с уникальным серийным номером) для запуска критичных операций.
    — Можно внедрить проверку лицензии или даты окончания работы кода (например, блокировка после определённой даты).

    Пример кода для создания скомпилированного модуля (кратко):

    |// В модуле объекта вашей обработки или общего модуля
    |Функция СекретнаяФункция() Экспорт
    | // Ваш алгоритм
    | Возврат «Секретные данные»;
    |КонецФункции

    Далее создаёте файл поставки без исходников, как описано выше.

    Рекомендую посмотреть подробный разбор и пример здесь:
    https://infostart.ru/1c/articles/2275597/

    Там подробно описан процесс создания внешней обработки с закрытым (скомпилированным) кодом.

    Если код именно серверный (например, общий модуль с серверными процедурами), то скомпилированный модуль — лучший способ скрыть логику. В 1С 8.3.27 это работает стабильно.

    Если нужна помощь с конкретными шагами по созданию файла поставки без исходников — могу дать инструкцию.

    База знаний 1С