将正则表达式作为参数传递给ruby

时间:2012-08-22 02:08:49

标签: ruby-on-rails ruby regex view params

所以我想在我的模型中的字段上公开正则表达式查询,这样用户可以要求

http://localhost:3000/myview.json?field=^hello, (there|world).*

所以我知道我将不得不改变我的路线以识别通配符等,我可以轻松地在我的控制器中执行Regexp.new()将其转换为真实的正则表达式(我正在使用mongomapper)后面)。

问题是XSS存在潜在的巨大安全漏洞。

我应该担心这个吗?我怎样才能安全地让用户使用正则表达式字符串进行查询。

(我对用户锤击数据库并不感到困扰......)

1 个答案:

答案 0 :(得分:0)

除非Regexp.new出现问题,否则正则表达式将无法执行任意代码执行。因此,如果我们假设Regexp.new要么生成有效的正则表达式,要么失败或做其他事情,那么您已经安全,而无需清理传入的字符串。