ASP.NET MVC 的 ValidateAntiForgeryToken機制

這是ASP.NET MVC 為防止 CSRF (Cross-Site Request Forgery) 跨站偽造請求的攻擊的設計,作法如下:

Step01. 在 Action 加上 [ValidateAntiForgeryToken] 標籤

[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{ 
    ...
    return View();
}

Step02. 在 cshtml 就必須要加上 @Html.AntiForgeryToken(),否則會出錯

@using (Html.BeginForm("Login", "Account", FormMethod.Post))
{
    @Html.AntiForgeryToken()
}