用途:防止CSRF(跨網站請求偽造)。
用法:在View->Form表單中:<%:Html.AntiForgeryToken()%>
在Controller->Action動作上:[ValidateAntiForgeryToken]
原理:
1、<%:Html.AntiForgeryToken()%>這個方法會生成一個隱藏域:<inputname="__RequestVerificationToken" type="hidden" value="7FTM...sdLr1" />並且會將一個以"__RequestVerificationToken“為KEY的COOKIE給控制層。
2、[ValidateAntiForgeryToken],根據傳過來的令牌進行對比,如果相同,則允許訪問,如果不同則拒絕訪問。
關鍵:ValidateAntiForgeryToken只針對POST請求。
換句話說,[ValidateAntiForgeryToken]必須和[HttpPost]同時加在一個ACTION上才可以正常使用。