我有一個rails應用程序,它爲iPhone應用程序提供一些apis服務。 我希望能夠簡單地發佈資源,而不必考慮獲取正確的csrf標記。 我嘗試了一些方法,我在這裏看到的計算器,但它似乎他們不再工作的軌道3. 謝謝你幫助我。在rails 3中關閉CSRF令牌
回答
在控制器要禁用CSRF檢查:
skip_before_action :verify_authenticity_token
或者禁用它的一切,除了幾個方法:
skip_before_action :verify_authenticity_token, :except => [:update, :create]
,或禁用只有指定的方法:
skip_before_action :verify_authenticity_token, :only => [:custom_auth, :update]
在Rails3中,你可以在你的控制器的具體方法禁用CSRF令牌:
protect_from_forgery :except => :create
對於任何人閱讀,請注意這是'ApplicationController'應該去的。 Mike Lewis的回答如下('skip_before_filter:verify_authenticity_token')是如何在每個控制器的基礎上禁用它,假設控制器繼承自'ApplicationController'。 – NudeCanalTroll 2013-02-16 21:04:54
似乎這是不安全的http://stackoverflow.com/questions/10676018/security-safe-to-disable-csrf-tokens-for-json-rails-calls。你怎麼看?是嗎? – juanpastas 2013-05-13 03:49:08
@NudeCanalTroll你的意思是把它放在控制器,我想它不會工作? – BlackDivine 2013-05-28 10:27:15
使用Rails 4,你現在有skip_before_action
而不是skip_before_filter
寫的選項。
# Works in Rails 4 and 5
skip_before_action :verify_authenticity_token
或
# Works in Rails 3 and 4 (deprecated in Rails 4 and removed in Rails 5)
skip_before_filter :verify_authenticity_token
有什麼區別? – 2015-02-25 13:49:18
如果我沒有記錯,過濾器已被棄用 – nruth 2015-04-03 22:02:38
- 1. rails csrf令牌生存期
- 2. Rails的Angular 2 CSRF令牌
- 3. 笨,CSRF令牌
- 4. 帶Webpack的Rails 5.1:訪問CSRF令牌
- 5. Rails CSRF令牌 - 它們是否過期?
- 6. CSRF同步令牌
- 7. CSRF令牌生成
- 8. PHP中的Laravel csrf令牌
- 9. Cookie中的CSRF令牌
- 10. Django的CSRF令牌
- 11. 變化CSRF令牌
- 12. 在Rails 2中關閉Web服務的真實性令牌?
- 13. Rails 3真實性令牌
- 14. CSRF令牌在源代碼中可見
- 15. 無法在rails中驗證CSRF令牌的真實性
- 16. 無法在Rails + React App中驗證CSRF令牌
- 17. 關閉Apple通知令牌
- 18. CSRF令牌不在STRUTS中工作1.1
- 19. 在Listner中獲取CSRF令牌symfony
- 20. 在dropzone中發送CSRF令牌
- 21. 在PHP中沒有Cookie的CSRF令牌
- 22. 如何在Express中生成CSRF令牌?
- 23. CSRF 403禁止 - 無效的CSRF令牌
- 24. CSRF不匹配令牌
- 25. CSRF令牌春季安全
- 26. Spring Security獲得CSRF令牌
- 27. Django csrf令牌使用
- 28. Symfony2 CSRF令牌無效
- 29. CodeIgniter的CSRF令牌問題
- 30. 反CSRF令牌和Javascript
這對於那些有定期的瀏覽器訪問的形式和API端點的混合應用程序的正確答案。 Markus Proske的回答是正確的,如果你確定你的應用程序中沒有任何瀏覽器可訪問的表單。 – 2014-07-09 10:44:46
這究竟在哪裏呢?如果某些寶石的控制器部分怎麼辦? – 2017-04-05 08:29:23