ruby-on-rails - 在 Ruby 中运行 eval 有安全的方法吗?

标签 ruby-on-rails ruby sandbox

我们正在开发一种与 Tropo 具有类似要求的产品(参见 https://github.com/tropo/tropo-samples/tree/master/ruby ),允许用户编写一个 ruby​​ 脚本,该脚本可以访问传入的一些函数和变量。但是,我们希望避免用户访问全局调用删除所有用户或终止程序。有没有办法用 eval 来完成这个?

最佳答案

这在很大程度上取决于您如何实现它,但请研究绑定(bind)与 eval 的使用。通过创建您自己的绑定(bind)并使用“安全”对象预加载它,您可以限制用户可以使用他的代码执行的操作。

http://rdoc.info/stdlib/core/1.9.2/Binding

关于ruby-on-rails - 在 Ruby 中运行 eval 有安全的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6697109/

相关文章:

ruby-on-rails - Rails -> Devise -> 如何从模块访问 current_user

ruby-on-rails - 将多个 Thinking Sphinx 查询的结果组合成单个分页结果

ruby-on-rails - Rails 模型不适用于独特的声明

asp.net - 可以通过定义一个类来创建一个 ASP.NET 编辑系统吗?

ruby - 在 ruby​​ 中哪个更快 - 散列查找或带有 case 语句的函数?

ruby-on-rails - respond_with 选项

ruby-on-rails - 在初始化程序中获取 rake 任务名称

python - 沙盒 python 插件

forms - 检测到错误 - Paypal

php - Paypal Sandbox 定期付款,初始金额待定