1
我正在根據Ruby on Rails Guide在我的Rails應用上設置安全性。Rails CSRF用戶對策編輯和更新
我的理解是,用戶控制器(我用來呈現我的用戶設置視圖)中的'編輯'方法應該只提交GET請求,並且'update'方法提交POST請求。但是當我想驗證不同方法的請求類型時,請執行以下操作:
#UsersController
verify :method => :post, :only => [:update], :redirect_to => {:action => :show}
該應用程序不保存對用戶設置所做的任何更改。如果我將驗證更改爲
verify :method => :post, :only => [:update, :edit], :redirect_to => {:action => :show}
我甚至無法呈現設置視圖。
StackOverflow通常在教育我對不太瞭解的領域很有幫助,任何人都知道可能會發生什麼?
太好了,謝謝!這裏的句子就是我所說的:「如果你的web應用程序是RESTful的,你可能會習慣於額外的HTTP動詞,比如PUT或DELETE。但是現在的大多數瀏覽器都不支持它們 - 只有GET和POST。 Rails使用一個隱藏的_method字段來處理這個障礙。「但我猜Rails處理它 – kateray 2010-10-28 17:02:43
是的,它確實如此。這是一個必要的罪惡,直到瀏覽器趕上:) – 2010-10-28 18:53:27