如何只允许访问某些特定的ruby类?

时间:2016-04-20 10:15:15

标签: ruby security jruby abuse

我试图将jruby用作脚本语言(用于为游戏编写任务),但我需要防止使用像DirProcess或{{}这样的潜在危险类1}}。

我已经找到了将单个方法和类列入黑名单的麻烦方法:

RubyVM

但我真的希望有一种更简单的方法来执行此任务,或者甚至更好地将应该能够使用的类列入白名单。

1 个答案:

答案 0 :(得分:4)

您可以将特定方法设为私有:

class Dir
  private :close, :each ....
  private_class_method :glob, :home ...
end

或者你可以取消定义全班(对我来说不好的主意):

Object.send(:remove_const, :Dir)

或者删除方法(从Ruby核心类中删除方法也是个坏主意):

class Dir
  remove_method :close, :each ....
end
相关问题