Cookieless ASP.NET Core

问题描述 投票:4回答:2

我正在开发ASP.NET Core 3.1应用程序。我没有使用任何类型的身份验证,会话数据/逻辑和表单元素。我没有在开发人员控制台中看到。AspNetCore.Antiforgery cookie,尽管我没有在services.AddAntiforgery()类中调用Startup

[我发现this StackOverflow question的答案令人非常不满意,因为该cookie仍将发送给客户端(由大麻的评论指出)。

所以我的问题是:如何完全删除此CSFR cookie?

c# asp.net-core cookies antiforgerytoken asp.net-core-3.1
2个回答
1
投票

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


2
投票

正如panoskarajohn所说,>

Asp.Net Core自动将防伪令牌添加到表单。

因为它是标签助手。这样就可以避免标签助手停止防伪令牌。您可以使用标签助手“!”退出符号

<!form  method=”post”>
    …
</!form >

而且,您可以避免在整个页面中使用标签助手。

@removeTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper,  Microsoft.AspNetCore.Mvc.TagHelpers

检查此链接http://blog.vivensas.com/cross-site-request-forgery-in-asp-net-core-formtaghelper/#avoidAntiForgeryToken

© www.soinside.com 2019 - 2024. All rights reserved.