gpt4 book ai didi

ruby-on-rails - 使用正则表达式和转义的 MongoID 查询

转载 作者:可可西里 更新时间:2023-11-01 10:28:00 25 4
gpt4 key购买 nike

我想知道是否有必要在使用 rails/mongoID 的查询调用中转义正则表达式?

这是我当前的查询:

@model.where(nice_id_string: /#{params[:nice_id_string]}/i)

我现在不确定它是否不够安全,因为正则表达式。

我应该使用下面的代码还是 MongoID 自动转义查询调用?

@model.where(nice_id_string: /#{Regexp.escape(params[:nice_id_string])}/i)

最佳答案

当然你应该转义输入。考虑 params[:nice_id_string].*,您当前的查询将是:

@model.where(nice_id_string: /.*/i)

而你的第二个是:

@model.where(nice_id_string: /\.\*/i)

它们做的事情截然不同,其中有一个是您可能不想要的。态度非常恶劣的人可能会在您当前的版本中进行一些灾难性的回溯,我不确定 MongoDB/V8 的正则表达式引擎会对此做什么。

关于ruby-on-rails - 使用正则表达式和转义的 MongoID 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31657959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com