MVC Применить токен защиты от подделки по умолчанию

ASP.NET MVC не применяет токен защиты от подделки по умолчанию, поэтому вам придется делать это вручную каждый раз, что является потенциальной проблемой безопасности.

Я думаю применить антифальсификацию по умолчанию с помощью какого-нибудь javascipt. Может ли это вызвать проблему безопасности? Или есть лучшие решения?

1) Добавьте токен во всех возможных формах на странице. Это путем добавления следующего скрипта в основной макет.

<script>
    var csrfToken = '@Html.AntiForgeryToken()';
    $(document).ready(function () {
        $("form").append(csrfToken);
    });
</script>

2) Проверяйте токен на каждом посте:

убедитесь, что каждый метод контроллера имеет атрибут ValidateAntiForgeryToken?


person MichaelD    schedule 29.05.2015    source источник
comment
Я буду этим парнем... Вам действительно нужно проверять этот токен при каждом запросе? Большинство людей используют его только в методах POST для предотвращения CSRF (при условии, что они правильно используют POST и GET).   -  person Brad C    schedule 29.05.2015
comment
Только по почтовым запросам действительно   -  person MichaelD    schedule 29.05.2015