0

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

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

所以我知道我必须改变我的路线来识别通配符等,我可以很容易地Regexp.new()在我的控制器内部将它转换为一个真正的正则表达式(我在后面使用 mongomapper)。

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

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

(我不太担心用户敲击数据库......但是)

4

1 回答 1

0

正则表达式将无法执行任意代码执行,除非Regexp.new. 因此,如果我们假设它Regexp.new要么生成一个有效的正则表达式,要么失败,或者做一些其他理智的事情,那么你就已经安全了,而不必清理传入的字符串。

于 2012-08-22T04:08:18.847 回答