簡介#
ASP.NET Core Razor Pages 應用程式預設啟用了 AntiforgeryToken 驗證,也就是 POST、PUT、PATCH、DELETE 等 HTTP 謂詞都會在 Action 被執行前驗證 AntiforgeryToken,也就是會比對 antiforgery cookie 和 antiforgery token 值,缺一不可,如果缺失 cookie 或者 token 的值(請求標頭或者表單內容中)都會直接回應 400 的錯誤。
生成方式#
Token 的生成方式有兩種。
form 表單#
第一種,通過編寫 form
表單,會自動生成 Token 所需的資料:
<form method="post">
...
</form>
手動程式碼#
第二種是在頁面上添加顯示程式碼:
@Html.AntiForgeryToken()