私たちは、ASP.NET MVCサーバーアプリケーションへの投稿を行う目的で、iOSモバイルアプリをobjective-cで作成しています。 iPhoneでは、HTTPスタック(およびCookieなど)はSafariと共有されているようです。これは私たちにXSRF攻撃を開放しているので、私が間違っていない限り、偽造防止トークンでPOSTを保護し、コントローラのメソッドをValidateAntiForgeryTokenAttribute
で保護する必要があります。AntiForgery.GetTokens:oldCookieTokenパラメータの目的は何ですか?
私は、偽造防止トークンが生成され、検証される仕組みを正しく理解していないと言って、この質問に同意します...特に、この文脈で使用される用語「ノンス」は幾分神秘的です。
クライアントにHTMLを配信していないため、標準@Html.AntiForgeryToken()
を使用できないため、AntiForgery.GetTokens
を使用して、クライアントにトークンを取得して配布する必要があります。これは不思議な最初のパラメータ:oldCookieToken
を持っています。現時点では、私はちょうどそれをnull
に設定して、すべてうまくいくようです。誰も私に教えてください...古いトークンをトークン生成アルゴリズムに供給することは何ですか? iOSアプリに発行されたトークンが1つだけで、複数の投稿に対して再利用された場合、これは問題になりますか?
まあ私はこれが有用だとわかりました。なぜ答えとしてマークされていないのかわかりません。しかし、ありがとう。 –
@PaulDeen:今すぐ:-) – spender
注:有効なoldCookieTokenを渡すと、newCookieTokenは常に空になり、oldCookieTokenと同じ値ではありません。 – Alex