Это не полный метод защиты от CSRF. Любой запрос без обратной передачи, такой как GET, все еще уязвим. Также я не использовал этот метод, и, честно говоря, манипуляции с ViewState могут быть гораздо более серьезной уязвимостью. Идея предоставления клиенту viewstate не является всесторонним подходом к защите. Криптографический одноразовый номер - это очень хорошее решение проблемы, поэтому его чаще всего используют. Но это не единственное решение, вы должны прочитать Шпаргалку по профилактике CSRF . Для записи «Одноразовый номер» просто означает значение, которое используется только один раз, первичный ключ - это одноразовый номер, но это не останавливает CSRF. Вам нужен криптографический одноразовый номер, значение которого используется только один раз, AND его очень сложно угадать.