myesn

myEsn2E9

hi
github

ASP.NET Core: AntiForgeryToken 生成方式

简介#

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>

生成原理参考:https://learn.microsoft.com/zh-cn/aspnet/core/security/anti-request-forgery#antiforgery-in-aspnet-core

手动代码#

第二种是在页面上添加显示代码:

@Html.AntiForgeryToken()

方法解释:https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.aspnetcore.mvc.viewfeatures.htmlhelper.antiforgerytoken

参考#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。