ruby on rails - Params.sort.key如何工作



任何人都可以在自己的项目中使用这个吗?如果是,怎么做?我知道这有助于减少攻击。

如果我在我的控制器中有以下内容:

mail_id = params[:mail_id].to_i
user_id = params[:user_id].to_i
token = params[:token]

我应该在哪里写params.sort.key[,我应该在这里写什么?)

我相信这个概念应该是这样运作的:

您希望'params'散列看起来像这样:

params = { :mail_id => 1, :user_id => 2, :token => 'foo' }

表示参数。Keys将返回[:mail_id,:user_id,:token]

params.keys。Sort将返回按字母顺序排序的键:[:mail_id,:token,:user_id]

所以要验证params是否持有你期望的键,你可以这样做:

    if params.keys.sort == [:mail_id, :token, :user_id]
       render :text => 'Serving your request'
    else
       render :text => 'Server understood the request, but refuses to serve it, since some of the requested data is missing'
    end

您可以在控制器

中使用logger.debug(params.keys)来验证'params'散列的确切内容

最新更新