Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамКлиент-серверное взаимодейс…

1С:Предприятие 8.2 /
Разработчикам /
Клиент-серверное взаимодействие и вопросы безопасности

Оглавление

Ограничение на выполнение «внешнего» кода на сервере

См. также

 

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

Примеры недопустимого выполнения «внешнего» кода:

Это требование обусловлено, прежде всего, требованиями к надежности сервиса. Внешний код, умышленно или неумышленно, может представлять собой угрозу работоспособности сервиса.

Ограничение не распространяется на код, выполняемый на клиенте.

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

Например, код написан следующим образом:

В этом случае требования п.1.1. соблюдены – не выполняется код, который интерактивно вводит пользователь, но, тем не менее, есть следующая уязвимость:

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

1.3. Для исключения уязвимостей, описанных в пунктах 1.1 и 1.2, нужно в серверных процедурах и функциях вызов методов Выполнить или Вычислить предварять кодом:

Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда
	ТекстИсключения = НСтр("ru = 'Попытка выполнения недопустимых методов в режиме сервиса.'");
	
	ВызватьИсключение ТекстИсключения;
КонецЕсли;

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

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

При использовании в конфигурации Библиотеки стандартных подсистем, также имеется возможность предварительной обработки данных, загружаемых из локальной версии в сервис (см. документацию к подсистеме Работа в модели сервиса).

См. также


Нас находят: 1С РазделениеВключено, Использование директивы загрузки текста модуля из внешнего файла в 1с 8 2, 1с метод объекта разделениевключено, 1с как заставить выполнять код на сервере, РазделениеВключено 8 2, Позволяет выполнить фрагмент кода который передается ему в качестве строкового значения, ограничить выполнение кода только если клиент, на сервере отследить выполнение внешних отчетов 1с 8 2, как узнать когда 1с 8 1 выполняет метод на сервере, как описать свою функцию в компоновке 1с 8 2


Подписка на новости RSS

Мы на Facebook