Меню


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

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

Оглавление

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

См. также

 

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также


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


Подписка на новости RSS     Добавьте в закладки Google fusion     Мы в Google+    

 

Мы ВКонтакте

 

Мы на Facebook