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

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #36502
      Фото аватараOdineski
      Участник

        как в 1С Предприятия 8 версия 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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С