在看到 AntiForgery.Validate() 方法错误(当表单令牌未验证时应该这样做)并访问此站点后:http: //msdn.microsoft.com/en-us/library/system。 web.helpers.antiforgery(v=vs.111).aspx 了解更多信息,看来我过去可能误用了它。
我使用了 AntiForgery.GetHTML(); 的组合。和 AntiForgery.Validate(); 在登录页面上,但不确定将其放在那里是否有意义。在没有登录的情况下,用户始终是“”(空字符串),所以我想我最初认为使用 AntiForgery 类的作用比实际作用更多。因此,我的问题是:
我是否正确假设上述做法执行的唯一安全检查只是确保(通过将 AntiForgery.Validate(); 放在 if(IsPost) 分支中)提交表单的用户与之前的用户相同页面加载时登录?
如果是这样,那么,我是否也正确地假设以这种方式使用此类在登录页面中没有位置?