Rails でアプリを作成していますprotect_from_forgery
が、application.rb
. また、モバイル アプリがデータを使用して通信するための RESTful API も作成しJSON
ました。protect_from_forgery
モバイル アプリが Rails アプリケーションと対話するために、JSON リクエスト をオフにしていると主張するサイトをいくつか見かけます。
これはCSRFの問題をどのように解決しますか? 悪意のあるサイトが、ユーザーに代わって望ましくない変更を実行する JSON POST 要求を持たないようにすることはできますか?
したがって、この問題を解決するために、モバイル アプリのみが使用するカスタムmime-type
またはおそらくを使用することにし、次のことを実行しました。special key
protect_from_forgery
- csrf トークンがとして存在するかどうかを確認します
hidden div
(Web アプリの場合は true で、既定で含まれています)。 special key
存在しない場合は、これまたはを確認してくださいmime-type
。
この問題に対抗するために、これを達成する方法、または同様の方法はありますか?
アップデート
私が問題を考えすぎていたことが判明しました。Rails は「魔法のように」、例外を発生させることなく、モバイル アプリからのリクエストを自動的かつ適切に処理します。したがって、本質的には、まったく変更を加える必要はありませんでした。
私は Rails がこれをどのように実現するかを十分に確認していませんでしたが、教育的に言えば、これは興味深いことかもしれません。