gpt4 book ai didi

ruby-on-rails - Ruby:创建沙盒评估?

转载 作者:数据小太阳 更新时间:2023-10-29 06:30:19 24 4
gpt4 key购买 nike

我的 Rails 应用程序有关于何时应在页面上显示一些内容的复杂规则。我决定通过在 Ruby 中编写谓词(简单的“是/否”函数)并将它们存储在数据库中以供后续评估来实现这一点。它非常简单。

我主要担心的是安全性:如果有恶意的人知道如何写入数据库,他们可以在数据库中插入任意 Ruby 代码,然后“您的所有基地都属于我们”。

那么是否可以创建一个“沙盒”评估,例如,它已删除所有 IO 操作?

最佳答案

您可能想要检查“污点”方法和相关内容。这是一个很好的引用:

http://ruby-doc.com/docs/ProgrammingRuby/html/taint.html

尽管如此,我不能充分建议您反对存储代码并对其进行评估,这是一种应该避免的安全风险,而且大多数时候有更简单的方法来解决您的问题。

如果您需要评估复杂的规则和谓词,我建议您使用规则引擎来创建出色的 DSL。没有在 ruby​​ 中使用过一个,但这个对我来说看起来不错:

http://treetop.rubyforge.org/index.html

干杯

关于ruby-on-rails - Ruby:创建沙盒评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074915/

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