ASP.NET MVC サーバー アプリに投稿する iOS モバイル アプリを Objective-C で作成しています。iPhone では、HTTP スタック (および Cookie など) が Safari と共有されているように見えます。これにより、XSRF 攻撃に対して無防備なままになるため、私が間違っていない限り、POST を偽造防止トークンで保護し、コントローラー メソッドを で保護する必要がありますValidateAntiForgeryTokenAttribute
。
偽造防止トークンが生成および検証されるメカニズムを正しく理解していないと言って、この質問を限定します...特に、この文脈で使用される「ナンス」という用語はやや神秘的です.
クライアントに HTML を配信していないため、標準の を使用できません@Html.AntiForgeryToken()
。代わりに、 を使用AntiForgery.GetTokens
してトークンを取得し、クライアントに配布する必要があります。これには不思議な最初のパラメーターがあります: oldCookieToken
. 現時点では、設定しただけでnull
、すべて正常に動作しているようです。それで、誰でも教えてもらえますか...古いトークンをトークン生成アルゴリズムに提供することの用途は何ですか? iOS アプリに 1 つのトークンしか発行されず、複数の投稿に再利用される場合、これは問題になるでしょうか?