中使用logger.debug(params.keys)来验证'params'散列的确切内容
任何人都可以在自己的项目中使用这个吗?如果是,怎么做?我知道这有助于减少攻击。
如果我在我的控制器中有以下内容:
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
您可以在控制器