python - 让网络用户输入代表公式的代码的安全方法是什么?
问题描述
我想让用户通过一个网络应用程序输入一个自定义公式,这样我就可以计算并返回一个图形形状并在前端显示它。这意味着他们的公式应该在服务器上执行。这当然很危险!
在确保我不会为各种恶意活动敞开大门的同时实现这一目标的好做法是什么?
以下是我可以施加的一些额外条件:
- 变量是预定义的,例如
var.x, var.y, var.z
。变量的数量和名称都是固定的。 - 用户应该能够在他们的公式中添加一个常数值。
- 该公式最终应使用 Python 执行。
我的想法是让他们输入一个字符串(在 Python 中),该字符串实现了他们的公式。为了将危险降到最低,我可以确保公式的每个组件都有一个固定变量,并且为给定的字符串设置一个固定的长度!这可能就足够了,但听起来不是很聪明!
有更好的建议吗?
解决方案
推荐阅读
- sql - “SQL 命令未正确结束” - 插入语句
- three.js - Determine base line performance before running? - ThreeJS
- javascript - 在哪里存储身份验证令牌(前端)以及如何将其放入多个端点的 http 标头中?
- python - 如何操作内置的类型提示
- c# - 基础连接已关闭。无法使用 HTTP.sys 运行 Asp.Net core 2.1 web api 应用程序?
- python - 如何生成RGB图像的颜色直方图?
- r - 如何用空列表初始化 data.table 列并循环它?
- qt - 如何限制屏幕中的 Qt 窗口?
- go - 带有 go-swagger 响应标头的 GoLang
- php - PHP open_basedir 限制:(文件)不在允许的路径内