Asp.net aspx页面中的CSRF修复程序

Asp.net aspx页面中的CSRF修复程序,asp.net,csrf,antiforgerytoken,Asp.net,Csrf,Antiforgerytoken,我需要修复aspx页面的CSRF缺陷。代码是这样的- ASPX- 用户名 密码 您在这里使用的是webforms。他们已经在母版页的模板中设置了反xsrf(我认为它包含了所有viewstate数据) 因此,只要您使用的是母版页,就不必担心 如果不使用母版页,只需使用会话状态、隐藏字段和guid构建自己的母版页。我从下面的 你的希登菲尔德 <asp:HiddenField ID="antiforgery" runat="server"/> 最后,在代码隐藏中的页面加载方法中执行以

我需要修复aspx页面的CSRF缺陷。代码是这样的-

ASPX-


用户名
密码

您在这里使用的是webforms。他们已经在母版页的模板中设置了反xsrf(我认为它包含了所有viewstate数据)

因此,只要您使用的是母版页,就不必担心

如果不使用母版页,只需使用会话状态、隐藏字段和guid构建自己的母版页。我从下面的

你的希登菲尔德

<asp:HiddenField ID="antiforgery" runat="server"/>
最后,在代码隐藏中的
页面加载
方法中执行以下操作

AntiforgeryChecker.Check(this, antiforgery);

错误-名称“antiforgery”在AntiforgeryChecker的当前上下文中不存在。请检查(此为antiforgery)@AnkurRai您是否已使用runat='server'设置页面上的hiddenfield?你应该能够在页面loadYes中引用它,我已经添加了。但我得到了另一个解决方案,在配置中添加SameSite属性。这样可以减少混乱。你应该诚实地使用母版页。试图重新发明轮子是没有意义的
AntiforgeryChecker.Check(this, antiforgery);