【发布时间】:2016-10-28 20:16:18
【问题描述】:
我正在审查一个已有 7 年历史的 ASP.NET 网站的安全性。在创建该站点时,Microsoft 的指导是将以下内容添加到一个公共基本页面(由页面背后的所有代码继承):
Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
MyBase.OnInit(e)
If Request.IsSecureConnection = True Then
ViewStateUserKey = Session.SessionID
End If
End Sub
此建议来自 2005 年的以下 MSDN Article。
我的问题是,这是否仍然是一种有效且有效的技术来防止 CSRF 攻击。
注意,我阅读了关于此主题的SO question,但似乎 Visual Studio 2012+ 项目自动生成的 CSRF 保护已添加到母版页。由于 CSS 冲突,我正在查看的网站未使用母版页,并且不在当前更新中添加母版页的范围内。
【问题讨论】:
-
上述函数如何防止CSRF?
标签: asp.net vb.net webforms csrf