MVCでのCSRF攻撃防止
MVCでのCSRF攻撃防止
AntiForgeryTokenトークンを使用して、ASP.NETのコアにはCSRF攻撃の検出と組織のためのトークンが提供されている.
Htmlフォームに@Htmlが使用されている限り.AntiForgeryToken()はCSRF攻撃を阻止することができる.
したがって、Controllerにも[ValidateAntiForgeryToken]フィルタ機能を追加します.
この特性は、サーバ要求が改ざんされたかどうかを検出することを示す.
注意:このプロパティはpostリクエストにのみ使用でき、getリクエストは無効です.
AntiForgeryTokenトークンを使用して、ASP.NETのコアにはCSRF攻撃の検出と組織のためのトークンが提供されている.
Htmlフォームに@Htmlが使用されている限り.AntiForgeryToken()はCSRF攻撃を阻止することができる.
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.Age)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Age)
@Html.ValidationMessageFor(model => model.Age)
</div>
<p>
<input type="submit" value=" " />
</p>
</fieldset>
}
したがって、Controllerにも[ValidateAntiForgeryToken]フィルタ機能を追加します.
この特性は、サーバ要求が改ざんされたかどうかを検出することを示す.
注意:このプロパティはpostリクエストにのみ使用でき、getリクエストは無効です.
[ValidateAntiForgeryToken]//[ValidateAntiForgeryToken(Salt ="aa")]
[HttpPost]
public ActionResult Edit(int id, Person person)
{
try
{
//
return RedirectToAction("Success",person);
}
catch
{
return View();
}
}