mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2025-04-18 14:23:27 +02:00
3.4 KiB
3.4 KiB
Отсутствует включение безопасного режима перед вызовом метода "Выполнить" или "Вычислить"
Для исключения описанных уязвимостей, нужно в серверных процедурах и функциях вызов методов Выполнить или Вычислить предварять включением безопасного режима.
В режиме сервиса, включение безопасного режима должно учитывать разделение данных.
Неправильно
Выполнить(Алгоритм);
Вычислить(Алгоритм);
Правильно
УстановитьБезопасныйРежим(Истина);
Выполнить(Алгоритм);
УстановитьБезопасныйРежим(Истина);
Вычислить(Алгоритм);
В режиме сервиса:
УстановитьБезопасныйРежим(Истина);
Для каждого ИмяРазделителя Из РазделителиКонфигурации() Цикл
УстановитьБезопасныйРежимРазделенияДанных(ИмяРазделителя, Истина);
КонецЦикла;
Выполнить(Алгоритм);
УстановитьБезопасныйРежим(Истина);
Для каждого ИмяРазделителя Из РазделителиКонфигурации() Цикл
УстановитьБезопасныйРежимРазделенияДанных(ИмяРазделителя, Истина);
КонецЦикла;
Вычислить(Алгоритм);
При использовании в конфигурации Библиотеки стандартных подсистем, следует использовать:
ОбщегоНазначения.ВыполнитьВБезопасномРежиме()
ОбщегоНазначения.ВычислитьВБезопасномРежиме()
Вместо формирования строки вызова метода модуля и передачи ее в Выполнить:
ОбщегоНазначения.ВыполнитьМетодКонфигурации()
ОбщегоНазначения.ВыполнитьМетодОбъекта()
При использовании в конфигурации Библиотеки стандартных подсистем версии, меньшей чем 2.4.1, следует использовать:
РаботаВБезопасномРежиме.ВыполнитьВБезопасномРежиме()
РаботаВБезопасномРежиме.ВычислитьВБезопасномРежиме()
Вместо формирования строки вызова метода модуля и передачи ее в Выполнить:
РаботаВБезопасномРежиме.ВыполнитьМетодКонфигурации()
РаботаВБезопасномРежиме.ВыполнитьМетодОбъекта()
См.
Ограничения на использование Выполнить и Вычислить на сервере