Asp.Net Core是否能防止隐藏输入被篡改?是否有由中间件处理的某种签名来防止篡改?是否有由中间件处理的某种签名来防止篡改?__RequestVerificationToken
照顾到了吗?
ASP.NET Core 使用以下方法实现了防伪功能 ASP.NET核心数据保护. 当以下API之一被调用时,Antiforgery中间件被添加到依赖注入容器中。Startup.ConfigureServices
: AddMvc、MapRazorPages、MapControllerRoute和MapBlazorHub。
当我们添加 @Html.AntiForgeryToken
在 <form>
元素,它将生成隐藏字段来存储防伪令牌。
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8NrAkS ... s2-m9Yw">
该令牌是唯一且不可预知的。服务器将与当前用户身份相关联的令牌发送给客户端。客户端将令牌发回给服务器进行验证。如果服务器收到的令牌与认证用户的身份不符,则拒绝该请求。
更多细节信息,请查看 防止ASP.NET Core中的跨站请求伪造(XSRFCSRF)攻击。.