我正在开发ASP.NET Core 3.1应用程序。我没有使用任何类型的身份验证,会话数据/逻辑和表单元素。我没有在开发人员控制台中看到。AspNetCore.Antiforgery cookie,尽管我没有在services.AddAntiforgery()
类中调用Startup
。
[我发现this StackOverflow question的答案令人非常不满意,因为该cookie仍将发送给客户端(由大麻的评论指出)。
所以我的问题是:如何完全删除此CSFR cookie?
Asp.Net Core自动将防伪令牌添加到form
。
您需要<form method="post" asp-antiforgery="false">
,这将省略防伪令牌。
即使Microsoft的此文档说明了如何防止跨站点。关于如何忽略它的材料很多-> https://docs.microsoft.com/en-us/aspnet/core/security/anti-request-forgery?view=aspnetcore-3.1
正如panoskarajohn所说,>
Asp.Net Core自动将防伪令牌添加到表单。
因为它是标签助手。这样就可以避免标签助手停止防伪令牌。您可以使用标签助手“!”退出符号
<!form method=”post”> … </!form >
而且,您可以避免在整个页面中使用标签助手。
@removeTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers