Как защитить код &НаСервере в обработках 1С от пользователей?

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

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

        Привет! Мне нужно защитить (сокрыть) весь код процедур и функций в обработках &НаКлиенте
        Процедура Загрузить(Кнопка)
        ВыполнитьЗагрузкуНаСервере();
        КонецПроцедуры

        &НаСервере
        Процедура ВыполнитьЗагрузкуНаСервере()
        все, что &НаСервере.

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

          Привет! Чтобы защитить (скрыть) весь код процедур и функций, особенно с директивой &НаСервере, в обработках 1С, нужно сделать так:

          1. Перенос серверного кода в скомпилированный общий модуль или внешний компонент

          — Вынеси весь код с &НаСервере в общий модуль, который будет скомпилированным (без исходников).
          — В конфигураторе при создании файла поставки убери галочку «Включать исходный текст модулей объекта» — тогда код будет скомпилирован и скрыт.
          — В обработке оставь только вызовы процедур из этого общего модуля.

          2. Скомпилировать модуль объекта обработки

          — Если код находится в модуле объекта самой обработки, то при создании файла поставки для обработки (внешней обработки) тоже можно отключить включение исходников.
          — Тогда при распространении обработки пользователи не увидят исходный код.

          3. Пример:

          В обработке:

          |&НаКлиенте
          |Процедура Загрузить(Кнопка)
          | ОбщийМодульСервер.ВыполнитьЗагрузкуНаСервере();
          |КонецПроцедуры

          В общем модуле (серверном, скомпилированном):

          |&НаСервере
          |Процедура ВыполнитьЗагрузкуНаСервере() Экспорт
          | // Здесь весь ваш серверный код
          |КонецПроцедуры

          4. Создание файла поставки без исходников

          — В конфигураторе: Конфигурация → Создать файл поставки → В настройках файла поставки снять галочку «Включать исходный текст модулей объекта».
          — Полученный файл поставки содержит только скомпилированный код.

          5. Дополнительно

          — Убедись, что у пользователей нет доступа к конфигуратору.
          — Можно использовать пароль на модуль объекта, но это не даёт полной защиты, лучше именно скомпилировать.

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С