UPD: Тот же вопрос задавался на security.stackexchange.com , и я получил другой ответ.Пожалуйста, следуйте там, чтобы получить правильный ответ!
Я управляю довольно большим сайтом с тысячами посещений каждый день и довольно большой базой пользователей.
С тех пор, как я начал переход на MVC 3Я помещал AntiForgeryToken в несколько форм, которые модифицируют защищенные данные и т. Д.
Некоторые другие формы, такие как вход / регистрация, также используют AntiForgeryToken, но я сомневаюсь в их необходимостиво-первых, по нескольким причинам ...
- Форма входа требует от автора знать правильные учетные данные.Я не могу придумать, каким образом атака CSRF выиграет здесь.Особенно, если я проверяю, что запрос пришел с того же хоста (проверяя заголовок Referrer)
- Токен AntiForgeryToken генерирует разные значения при каждой загрузке страницы. Если у меня открыты две вкладки со страницей входа, изатем попробуйте опубликовать их, первый успешно загрузится.Второй сбой с AntiForgeryTokenException (сначала загрузите обе страницы, затем попытайтесь опубликовать их).С более безопасными страницами - это, очевидно, неизбежное зло, со страницами входа в систему - кажется излишним, и просто напрашивается на неприятности: S
Возможно, есть другие причины, по которым можно использовать / не использоватьтокен в их формах. Правильно ли я считаю, что использование токена в каждой форме сообщения - это плохо / излишне, и если да, то какие формы выиграют от него, а какие определенно НЕ принесут пользу?