gpt4 book ai didi

ruby-on-rails - 在有限的环境中执行 ruby​​ 代码

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

我正在为 Rails 项目实现插件架构。插件架构包括插件编写者编写要在服务器上执行的 Ruby 代码的能力。我想让它变得安全,这样插件编写者就没有能力编写破坏性代码。

尽管我对其他选项持开放态度,但我认为我需要做的是在范围有限的隔离环境中执行插件的 Ruby 代码。我正在考虑本着 therubyracer 精神的东西gem,但我想安全地执行 Ruby 而不是 JavaScript。

我想不出一个好的方法来做到这一点。我考虑过将 eval 与有限的 bindings 对象一起使用,但我认为 eval 多个文件会很困难,而且我认为我不会可以充分限制绑定(bind)。例如,我不希望插件能够对模型执行类似 destroy_all 的操作,或者对应用程序中的现有代码进行猴子修补。

我对这个很困惑。有人有什么想法吗?

最佳答案

我建议您阅读以下有关 ruby​​ 安全级别的文档。有时服务使用级别 4 来处理未知用户嵌入的脚本:

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

关于ruby-on-rails - 在有限的环境中执行 ruby​​ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144542/

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