web-dev-qa-db-ja.com

@ Html.AntiForgeryToken()の使用は何ですか?

@Html.AntiForgeryToken()を使用する必要があるのはなぜですか?検索しましたが、満足のいく答えが得られませんでした。

29
Mhd

これは、クロスサイトリクエストフォージェリからアプリケーションを保護するためのセキュリティ機能です。

例:

Webアプリに登録機能があると仮定しましょう。 AccountController(somename.com/account/register)があり、人々が情報を送信することを期待しています。通常、誰かが登録情報を投稿する前に、フォームを送信するよりも実際の(somename.com/account/register)にアクセスする必要があります。

私が悪い男だと言って、あなたのサイトにアクセスせずに(somename.com/account/register)に直接投稿し続けるだけであなたのサーバーにジャンク情報をあふれさせたいとしましょう。したがって、私を止めるために、AntiForgeryTokenを実装して、登録情報を収集する前にページにアクセスしたことを確認できるようにします。

他の例は( http://www.binaryintellect.net/articles/20e546b4-3ae9-416b-878e-5b12434fe7a6.aspx

68
Dynamikus

これは、MVCアプリケーションで クロスサイトリクエストフォージェリ を防ぐためです。これは OWASP Top 1 の一部であり、Webセキュリティの観点から重要です。 @ Html.AntiforgeryToken()メソッドを使用すると、リクエストごとにトークンが生成されるため、誰もフォームポストを偽造できません。

9
Jordi Corbilla