Asp.Net MVC

CSRF対策を有効化する - ValidateAntiForgeryToken属性

CSRF(Cross-Site Request Forgeries:クロスサイト・リクエスト・フォージェリ)とは、ひと言でいってしまうならば、外部サイトからのリクエストによって本来処理されるべきではない処理が行われてしまう攻撃のこと。

<%=Html.AntiForgeryToken() %>
<input type="submit" value="Create" />

Html.AntiForgeryTokenメソッドは、以下のような隠しフィールドを出力するとともに、「__RequestVerificationToken_Lw__」のような名前のクッキーを発行する。

<input name="__RequestVerificationToken" type="hidden" value="tJVYeJUMiD9s8HmKuzFESe3qHadxDC0HxD/wezi2kgK+cy/jVfzKJhEJy" />

これは入力フォームが正当なページであることをアクション・メソッドに知らせるためのキー文字列で、「ワンタイム・トークン」などと呼ばれる場合もある。

[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken()]
public ActionResult Create(Book b, FormCollection collection) {

  ……中略……

}

トークンのチェックを行うために、アクションそのもののコードには一切手を加える必要はない。ValidateAntiForgeryToken属性がトークンの存在をチェックし、合致しないリクエストに対しては、以降のアクションをキャンセルするためだ。



セシウム137を97.7%吸着

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:32:16 (1628d)

G|Cg|C@Amazon Yahoo yV

z[y[W yVoC[UNLIMITȂ1~] COiq COsیI