任何人都可以在自己的项目中使用它吗?如果有,怎么样?我知道这有助于减少攻击。
如果我的控制器中有以下内容:
mail_id = params[:mail_id].to_i
user_id = params[:user_id].to_i
token = params[:token]
我应该在哪里写params.sort.key [以及我应该在这里写什么?]
答案 0 :(得分:2)
我认为这个概念应该如下工作:
你希望'params'哈希看起来像这样:
params = { :mail_id => 1, :user_id => 2, :token => 'foo' }
表示params.keys将返回[:mail_id,:user_id,:token]
params.keys.sort将返回按字母顺序排序的键: [:mail_id,:token,:user_id]
因此,为了验证参数是否持有您期望它具有的确切键,您可以执行以下操作:
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'哈希的确切内容