0
任何人都可以在自己的項目中使用它?如果是,如何?我知道這有助於減少攻擊。Params.sort.key它是如何工作的?
如果我有我的控制器中執行以下:?什麼我應該寫在這裏]
mail_id = params[:mail_id].to_i
user_id = params[:user_id].to_i
token = params[:token]
我應該在哪裏寫params.sort.key
任何人都可以在自己的項目中使用它?如果是,如何?我知道這有助於減少攻擊。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' }
這意味着params.keys將返回[:mail_id,:USER_ID,:令牌]
params.keys.sort將返回按字母順序排序的鍵: [:mail_id,:令牌,: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」散列的確切內容
你在哪裏看到'Params.sort.key'你能給我們一個例子嗎? – 2011-04-11 06:53:05
當然:例如:if params [:id]和params [:user_id]和params.key.sort == ['action','controller','id','user_id'] ..我在一個項目 – 2011-04-11 07:12:30
您能更具體地瞭解您想實現的目標嗎?另外,當你說params.sort.key時,你的問題是錯誤的。正如你在上面的評論中提到的那樣,它可以是params.keys.sort,因爲params是一個哈希。 params.keys將是散列中所有鍵的數組。 – 2011-04-11 07:21:28