我建立on Rails的一個應用程序,我有我的application.rb
的protect_from_forgery
。我還爲移動應用程序構建了一個RESTful API,以使用JSON
數據進行通信。我發現一些網站聲稱,爲了讓移動應用程序與rails應用程序進行交互,他們關閉了用於JSON請求的protect_from_forgery
。Rails的protect_from_forgery與移動應用
這如何解決CSRF的問題呢?惡意網站可否沒有JSON POST請求代表用戶執行不需要的更改?
因此,要解決這個問題,我決定使用自定義mime-type
或者一個special key
只有移動應用程序將使用,然後有protect_from_forgery
執行以下操作:如果CSRF
- 檢查令牌存在爲
hidden div
(對於Web應用程序爲true並且默認包含)。 - 如果不存在,檢查此
special key
或mime-type
。
反正有沒有做到這一點,或者類似的,來解決這個問題呢?
更新
事實證明,我已經過深思熟慮的問題。 Rails是「神奇的」,並以某種方式自動適當地處理來自移動應用程序的請求,而不會引發異常。所以,基本上我們不需要做任何修改。
我不太護軌是如何實現這個雖然 - 教學上來講,這仍然可能是有趣的知道一些。
來自移動應用程序的請求是如何製作的? – Dad 2012-04-07 00:11:30