Защита конфигураций 1С, отчетов и обработок. Как защитить программный код 1с?
Очень часто у программистов 1С возникает желание каким – то образом защитить свою конфигурацию 1С, обработку или отчет от редактирования и плагиата. Для решения такой задачи существует несколько способов, отличающихся как по степени защиты, так и по трудоемкости. И сегодня мы с вами рассмотрим наиболее популярные, а заодно поговорим про защиту программного кода 1с в целом.
1 способ. Защита кода 1с с помощью пароля (штатный способ)
Это самый простой способ защиты программного кода 1С. С его помощью можно защитить только модули объектов, так как для модулей форм такой опции нет. Подробно про виды программных модулей я рассказывал в этой статье.
Для защиты выбранного модуля объекта необходимо его открыть, а затем в меню выбрать Текст – Установить пароль.
Для повышения эффективности данного способа рекомендуется перенести (или сразу размещать) большую часть программного кода из модулей форм в модули объектов. Не забудьте протестировать работоспособность объекта после переноса кода.
2 способ. Исключение текстов модулей объектов из поставки конфигурации (штатный способ)
С помощью данного штатного способа можно добиться, чтобы модули объектов вообще не содержали никакого программного кода. Как и в предыдущем случае, данным методом нельзя скрыть программный код модулей форм. Поэтому, настоятельно рекомендуется переносить большую часть программного кода из модулей форм в модули объектов.
Для работы с поставкой конфигурации выполняем следующие действия:
1) Прежде всего, требуется настроить саму поставку, исключив тексты требуемых модулей объектов и при необходимости запретить изменения отдельных или всех объектов конфигурации.
Для этого переходим в меню Конфигурация – Поставка конфигурации – Настройка поставки.
В открывшемся окне правил поставки мы для каждого объекта конфигурации можем разрешить или запретить изменения, а также скрыть текст программных модулей (снять галку «Включать поставку исходный текст модулей объектов»).
2) В свойствах конфигурации необходимо указать версию и Поставщика. Затем сохранить все изменения с помощью кнопки «Обновить конфигурацию» или горячей клавишей F7.
3) Создаем файл поставки Конфигурация – Поставка конфигурации – Создать файл поставки и обновления конфигурации. В результате мы получим .cf-файл нашей конфигурации без текстов программных модулей.
4) Создаем новую конфигурацию и с помощью меню Конфигурация – Загрузить конфигурацию из файла загружаем полученный в 3 шаге наш .cf-файл. В результате мы получим конфигурацию без текстов программных модулей.
3 способ. Запутывание (обфускация) программного кода 1с
Суть данного способа заключается в том, чтобы сделать программный код плохо читаемым. Для этого можно:
- удалить все комментарии;
- удалить форматирование, сделать весь код сплошным текстом;
- использовать вперемешку английские и русские названия ключевых слов и функций;
- использовать вперемешку разные регистры в ключевых словах и переменных.
В результате другому программисту будет проще переписать код «с нуля», чем копировать куски из вашей авторской разработке.
Обфускацию можно выполнить как вручную, так и с помощью различных обработок и сервисов. Перед его применением обязательно следует сделать резервную копию информационной базы для того, чтобы потом самому не "копаться" в плохо читаемом коде при внесении изменений в конфигурацию.
Выводы по защите программного кода в 1С
К сожалению, программа 1С слишком популярна, чтобы защиту программного кода, созданного с её помощью, можно было бы считать абсолютно надежной. На сегодняшний день ни один из имеющихся способов защиты, в том числе коммерческие, не дают 100 % защиты. Тем не менее, применение рассмотренных 3 способов в различных комбинациях могут обеспечить приемлемый уровень защиты ваших авторских прав.
С другой стороны самая сильная сторона конфигураций 1С – это их открытость и возможность доработки. И не стоит главное достоинство системы переводить в её недостаток.
Комментарии