![](/img/trans.png)
[英]Rails Error: ActionController::InvalidAuthenticityToken
[英]Rails ActionController::InvalidAuthenticityToken error
我的Rails應用程序有時會向我發送有關隨機create
或update
操作的ActionController :: InvalidAuthenticityToken錯誤報告。 我的頭標簽中有csrf_meta_tags
,並且99%的請求都可以工作。
在文檔中,我已經看到可以使用以下protect_from_forgery with: :null_session
來嘗試protect_from_forgery with: :null_session
但是該選項僅適用於API。
我不確定該怎么辦。 您有什么建議嗎?
我正在使用Rails 4.1,但舊版本存在相同的問題。
在執行custom
Ajax時必須如此。 您必須顯式傳遞csrf
令牌。 像這樣的事情對我來說幾乎占90%。
$.ajax your_url ,
beforeSend: (xhr) ->
xhr.setRequestHeader "X-CSRF-Token", $("meta[name=\"csrf-token\"]").attr("content")
是的,不建議使用
protect_from_forgery with: :null_session
除非您有某種機制可以區分好請求和欺詐請求。 在api中,我們通常會有一些token
來幫助驗證請求。
如果您將session_id存儲在cookie中,則這些請求可能來自具有禁用cookie的用戶。 實際上,由於CSRF令牌存儲在會話中,因此他們甚至無法登錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.