ruby - 替代 eval()

标签 ruby security eval

我正在寻找该代码的替代方案:

 expl = eval "BeEF::Modules::Exploits::#{klass.capitalize}.new"

这里的 eval 是完全不安全的。有没有我可以用来动态生成类而不使用 eval 的替代方法?就像,类总是不同的。所以我的代码保持通用。

感谢您的宝贵时间。

最佳答案

你可以使用 Module#const_get:

expl = BeEF::Modules::Exploits.const_get(klass.capitalize).new

关于ruby - 替代 eval(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3758575/

相关文章:

Javascript - 在没有 eval() 的情况下分配动态值

ruby - 使用大小写/检查负数时

ruby-on-rails - Rails3 和 readline 问题

python - 使用 dict 进行单元测试 __repr__ 的正确方法

javascript - 如何对字符串化的 JavaScript 进行去字符串化?

database - 如何安全地存储我的 CouchDB 管理员密码?

ruby-on-rails - 是否可以为 to_s 起别名?

ruby-on-rails - 如何在 Rails 应用程序中创建 "guided tour"?

node.js - 我可以将 npm node_modules 目录放在我的 'webroot' 之外吗

relational-database - 对用户名和密码进行散列会产生任何安全优势吗?