gpt4 book ai didi

python - 我怎样才能安全地执行 python 的一个子集?

转载 作者:太空狗 更新时间:2023-10-30 03:07:46 24 4
gpt4 key购买 nike

我需要在数据库中存储基本功能的源代码,并允许通过管理界面对其进行修改。此代码将多个数字和字符串作为参数,并返回一个数字或 None。我知道 eval 是邪恶的,所以我需要实现一种安全的方法来从基于 python 的网络应用程序中执行 python 的一个非常基本的子集,或者至少在语法上类似的东西。

显而易见的答案是实现 DSL(领域特定语言),但是,我没有这方面的经验,也不知道从哪里开始,而且很多可用的资源似乎都超出了我的理解范围头。我希望也许已经有一些东西可以让我从数据库中的字符串中生成一个安全的 python 可调用函数。该语言实际上只需要支持赋值、基础数学、if/else 和不区分大小写的字符串比较。任何其他功能都是额外的好处,但我认为大多数事情都可以用它来完成,不需要复杂的数据结构、类、函数等。

如果目前不存在这样的东西,我愿意研究创建一个的可能性,但正如我所说,我不知道如何着手,并且在这方面的任何建议也将不胜感激。

最佳答案

受限的 Python 环境很难真正安全。

也许类似于 lua更适合你

关于python - 我怎样才能安全地执行 python 的一个子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3243583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com