#std678¶
Безопасность прикладного программного интерфейса сервера¶
1.¶
Злоумышленник может вызвать серверный код с клиента. Например, он может выполнять запросы по HTTP, пытаясь повторить поведение клиента платформы. Своими действиями злоумышленник не должен получить несанкционированный доступ к данным пользователей или нарушить работоспособность сервера.
1.1.¶
Все серверные функции, доступные для вызова с клиента представляют потенциальную угрозу.
- Экспортный процедуры и функции из общих модулей с флажками
Сервер
иВызов сервера
. Такие функции можно вызывать напрямую с клиента. #std679 - Функции модулей форм с директивами компиляции
&НаСервере
,&НаСервереБезКонтекста
. Такие функции можно вызывать в контексте клиента после получения формы, даже когда функции не экспортные.
Уязвимость
1.2.¶
При разработке формы исключите из кода ее модуля бизнес-логику. Код формы должен содержать только клиент-серверное взаимодействие и обработку реквизитов формы.
1.3.¶
Тщательно тестируйте код, в котором устанавливается привилегированный режим или который расположен в общих модулях с флажком Привилегированный
. #std485
2.¶
Любые возможности конфигурации исполнить "внешний" код или произвольные тексты запросов на сервере, не являющиеся частью программы, потенциально опасны.
- Внешние отчеты и обработки
- COM-объекты
- Внешние компоненты
Внешние отчеты и обработки могут обращаться ко всем общим модулям без флажка Вызов сервера
, к модулям объектов и менеджеров объектов конфигурации, пытаться установить привилегированный режим.
Такие возможности создают угрозы #std669:
- Работоспособности сервера
- Порчу или хищение данных
- Зависание или зацикливание рабочего процесса
- Утечки памяти
- Ресурсоемкие операции и запросы
3.¶
Клиентское приложение (тонкий клиент, веб-браузер) не гарантирует безопасность данных, переданных на сторону клиента. Вредоносные программы (вирусы, зловреды) могут перехватить и прочитать данные, полученные клиентом.
Серверные процедуры и функции должны возвращать в форму только окончательный результат расчета. Не передавайте в форму исходных или промежуточных данных, которые могут раскрывать побочную, возможно приватную информацию бизнес-процесса.