Для исключения описанных уязвимостей, нужно в серверных процедурах и функциях вызов методов Выполнить или Вычислить предварять включением безопасного режима.
В режиме сервиса, включение безопасного режима должно учитывать разделение данных.
Выполнить(Алгоритм);
Вычислить(Алгоритм);
УстановитьБезопасныйРежим(Истина);
Выполнить(Алгоритм);
УстановитьБезопасныйРежим(Истина);
Вычислить(Алгоритм);
В режиме сервиса:
УстановитьБезопасныйРежим(Истина);
Для каждого ИмяРазделителя Из РазделителиКонфигурации() Цикл
УстановитьБезопасныйРежимРазделенияДанных(ИмяРазделителя, Истина);
КонецЦикла;
Выполнить(Алгоритм);
УстановитьБезопасныйРежим(Истина);
Для каждого ИмяРазделителя Из РазделителиКонфигурации() Цикл
УстановитьБезопасныйРежимРазделенияДанных(ИмяРазделителя, Истина);
КонецЦикла;
Вычислить(Алгоритм);
При использовании в конфигурации Библиотеки стандартных подсистем, следует использовать:
ОбщегоНазначения.ВыполнитьВБезопасномРежиме()
ОбщегоНазначения.ВычислитьВБезопасномРежиме()
Вместо формирования строки вызова метода модуля и передачи ее в Выполнить:
ОбщегоНазначения.ВыполнитьМетодКонфигурации()
ОбщегоНазначения.ВыполнитьМетодОбъекта()
При использовании в конфигурации Библиотеки стандартных подсистем версии, меньшей чем 2.4.1, следует использовать:
РаботаВБезопасномРежиме.ВыполнитьВБезопасномРежиме()
РаботаВБезопасномРежиме.ВычислитьВБезопасномРежиме()
Вместо формирования строки вызова метода модуля и передачи ее в Выполнить:
РаботаВБезопасномРежиме.ВыполнитьМетодКонфигурации()
РаботаВБезопасномРежиме.ВыполнитьМетодОбъекта()
Ограничения на использование Выполнить и Вычислить на сервере