Я проверяю безопасность веб-сайта ASP.NET, которому около 7 лет. Во время создания сайта руководство 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
Этот совет взят из следующей статьи MSDN из 2005.
Мой вопрос в том, является ли это все еще действительным и эффективным методом защиты от атак CSRF.
Обратите внимание, я прочитал вопрос SO об этой теме, но, похоже, автоматически сгенерированная защита проекта Visual Studio 2012+ для CSRF добавляется на главные страницы. Сайт, который я просматриваю, не использует главные страницы из-за конфликтов CSS, и добавление главных страниц в текущее обновление не входит в его задачи.