创建受红宝石保护的环境

时间:2012-06-13 12:24:02

标签: ruby

虽然ruby确实允许修改代码中任何地方的任何类,但我想知道是否有可能创建一个像受保护环境一样的沙箱来运行某些第三方代码,以便其他应用程序代码可以从任意中分离出来修改预定义的类/标准库类。

1 个答案:

答案 0 :(得分:4)

您可以使用Ruby的安全级别:

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

以下是安全级别4及以上的说明:

  

Ruby有效地将正在运行的程序分成两部分。 Nontainted   对象可能无法修改。通常,这将用于创建   sandbox:程序使用较低的$ SAFE级别设置环境,   然后将$ SAFE重置为4以防止后续更改   环境。

相关问题