Стандарт 770: Обнаружен вызов метода "Выполнить" вместо "ОбщегоНазначения.ВыполнитьВБезопасномРежиме()".
Название проверки
Обнаружен вызов метода "Выполнить" вместо "ОбщегоНазначения.ВыполнитьВБезопасномРежиме()".
Английское название проверки
??
Правило анализа кода/метаданных
2. Для исключения описанных уязвимостей, нужно в серверных процедурах и функциях вызов методов Выполнить или Вычислить предварять включением безопасного режима:
УстановитьБезопасныйРежим(Истина);
Выполнить Алгоритм;
В режиме сервиса, включение безопасного режима должно учитывать разделение данных, т.е. приведенный выше пример необходимо доработать следующим образом:
УстановитьБезопасныйРежим(Истина);
Для каждого ИмяРазделителя Из РазделителиКонфигурации() Цикл
УстановитьБезопасныйРежимРазделенияДанных(ИмяРазделителя, Истина);
КонецЦикла;
Выполнить Алгоритм;
При использовании в конфигурации Библиотеки стандартных подсистем, следует использовать:
- ОбщегоНазначения.ВыполнитьВБезопасномРежиме() вместо Выполнить;
- ОбщегоНазначения.ВычислитьВБезопасномРежиме() вместо Вычислить;
- ОбщегоНазначения.ВыполнитьМетодКонфигурации() вместо формирования строки вызова метода модуля и передачи ее в Выполнить;
- ОбщегоНазначения.ВыполнитьМетодОбъекта() вместо формирования строки вызова метода объекта и передачи ее в Выполнить.
При использовании в конфигурации Библиотеки стандартных подсистем версии, меньшей чем 2.4.1, следует использовать:
- РаботаВБезопасномРежиме.ВыполнитьВБезопасномРежиме() вместо Выполнить;
- РаботаВБезопасномРежиме.ВычислитьВБезопасномРежиме() вместо Вычислить;
- РаботаВБезопасномРежиме.ВыполнитьМетодКонфигурации() вместо формирования строки вызова метода модуля и передачи ее в Выполнить;
- РаботаВБезопасномРежиме.ВыполнитьМетодОбъекта() вместо формирования строки вызова метода объекта и передачи ее в Выполнить.
Мета-информация (пожалуйста, заполните если знаете):
- Номер стандарта:
770 - Код проверки:
??my-check-id - Тип ошибки:
ERRORSECURITYPERFORMANCEWARNINGPORTABILITYLIBRARY_DEVELOPMENT_AND_USAGECODE_STYLEUI_STYLESPELLING - Критичность:
BLOCKERCRITICALMAJORMINORTRIVIAL - Код ошибки АПК:
487
Параметры проверки
- NA
Текст ошибки
Обнаружен вызов метода "Выполнить" вместо "ОбщегоНазначения.ВыполнитьВБезопасномРежиме()".
Пример некорректного решения
- NA
Описание, почему так делать нельзя
Пример корректного решения
- NA
Дополнительные материалы
Есть похожая проверка 1C-Company/v8-code-style#541, только функцию предлагается другую. Какая-то из двух неактуальная.