Какой безопасный способ позволить веб-пользователю вводить код, представляющий формулу?

avatar
Azim
8 августа 2021 в 16:33
33
0
0

Я хочу, чтобы пользователи могли вводить пользовательскую формулу через веб-приложение, чтобы я мог вычислять и возвращать графическую форму и отображать ее в интерфейсе. Это означает, что их формула должна выполняться на сервере. Это, конечно, опасно!

Что лучше всего сделать для достижения этой цели, не открывая двери для всевозможных злонамеренных действий?

Вот некоторые дополнительные условия, которые я могу наложить:

  • Переменные предопределены, например. var.x, var.y, var.z. И количество переменных, и их имена фиксированы.
  • Пользователи должны иметь возможность добавлять постоянное значение в свою формулу.
  • В конечном итоге формула должна быть выполнена с использованием Python.

Что я имею в виду, так это позволить им ввести строку (на Python), в которой реализована их формула. Чтобы свести к минимуму опасность, я могу убедиться, что каждый компонент формулы имеет одну из фиксированных переменных, а также установить фиксированную длину для данной строки! Этого может и достаточно, но звучит не очень умно!

Есть лучшее предложение?

Источник
Eleshar
8 августа 2021 в 16:53
0

Не могли бы вы сделать интерфейс, в который они не могут печатать, а строят формулу из предопределенных компонентов (переменных и операторов). Они только вводят числовые значения в поля ввода для переменных.

Azim
8 августа 2021 в 20:28
0

@Элешар, спасибо за предложение. Ну, эти формулы могут быть очень сложными, и я не хочу заставлять их упрощать свои формулы, чтобы они соответствовали определенному интерфейсу.

Ответы (0)