最近,我在Microsoft (https://learn.microsoft.com/en-us/aspnet/core/security/anti-request-forgery)上看到了以下注释:
剃须刀页被自动保护,不受XSRF/CSRF的影响。您不必编写任何额外的代码。有关更多信息,请参见XSRF/CSRF和Razor页面。
指向另一个页面(https://learn.microsoft.com/en-us/aspnet/core/mvc/razor-pages/index?tabs=visual-studio#xsrf),其中指出:
您不必为防伪验证编写任何代码。反伪造令牌生成和验证自动包含在Razor页面中。
我在我的ASP.NET MVC应用程序中使用Razor,并且使用AntiForgeryToken帮助程序保护我的表单。由于防伪令牌的相互验证方式(隐藏字段+ cookie),我的用户必须允许网站上的cookie。
我现在对我在文档中读到的内容感到困惑,因为它似乎说我在使用Razor时不需要使用@Html.AntiForgeryToken()助手或[ValidateAntiForgeryToken]属性。
作为一个额外的问题,是否有办法保护我的网站免受CSRF攻击而不使用cookie?
发布于 2018-01-11 03:26:19
阅读文章(https://learn.microsoft.com/en-us/aspnet/core/security/anti-request-forgery)中的第一个链接,我找到了解释:
ASP.NET核心使用ASP.NET核心数据保护栈实现抗请求伪造. 在ASP.NET CoreMVC2.0中,FormTagHelper为HTML元素注入了防伪造令牌。
对于较早版本的ASP.NET MVC,您提到的帮助人员是需要的。
https://stackoverflow.com/questions/48199239
复制相似问题