新的安全概念,所以我覺得這一定是以前完成的。在創建操作中檢查的新操作中生成密鑰
對於經典的提交表單:
def new
end
def create
unless params[:key] != ENV["key"]
end
end
我對new.html.erb
一個hidden_input
與我在create
行動正在檢查的關鍵。但問題是這個鍵只是一個靜態環境變量。
我想知道是否有辦法動態地創建一個新的密鑰,每次new.html.erb
頁面呈現,然後有create
行動檢查這個動態密鑰。這需要在new
操作中生成的變量,我可以在create
操作中檢查該變量。輸出會是這樣的:
def new
key = SecureRandom
end
def create
unless params[:key] != key
end
end
當然,這個解決方案也將有多個用戶同時提交表單的工作,讓一個鍵不生氣與另一個請求引用,然後錯誤地拋棄。
我知道CSRF,但我需要一些自定義來驗證用戶的特定身份 – james