所以我想在我的模型中的字段上公开正则表达式查询,这样用户可以要求
http://localhost:3000/myview.json?field=^hello, (there|world).*
所以我知道我将不得不改变我的路线以识别通配符等,我可以轻松地在我的控制器中执行Regexp.new()
将其转换为真实的正则表达式(我正在使用mongomapper)后面)。
问题是XSS存在潜在的巨大安全漏洞。
我应该担心这个吗?我怎样才能安全地让用户使用正则表达式字符串进行查询。(我对用户锤击数据库并不感到困扰......)
答案 0 :(得分:0)
除非Regexp.new
出现问题,否则正则表达式将无法执行任意代码执行。因此,如果我们假设Regexp.new
要么生成有效的正则表达式,要么失败或做其他事情,那么您已经安全,而无需清理传入的字符串。