Liju Sankar Ответов: 2

Анти-подделки маркер в AJAX-вызовы


Привет,

Я сделал а укреплять анализ кода в существующем приложении MVC и укреплять порекомендуйте мне реализовать маркер защиты от подделки во всех вызовах HTTP POST, как показано ниже.

var token = $('input[name="__RequestVerificationToken"]').val();

var headers = {};

headers['__RequestVerificationToken'] = token;

$.ajax({
        url: ... some url,
        headers: headers,
        ....
});


Добавление __RequestVerificationToken во все вызовы Ajax в приложении может быть непростой задачей.

Пожалуйста, помогите мне понять, как реализовать маркер защиты от подделки, не изменяя все Аякс вызовы в существующем приложении?

2 Ответов

Рейтинг:
2

Member 11369232

Это то, что вам нужно, если вы используете JQUERY1-2. Я хочу закодировать это на чистом JavaScript, пожалуйста.

var sToken = document.getElementsByName("__RequestVerificationToken")[0].value;
$.Аякс({
url: "/Home/ClickCreateAccount/",
тип: "пост",
contentType: "application/x-www-form-urlencoded",
данные: { '__RequestVerificationToken': sToken, 'sMVCParameter1': sMVCParameter1, 'sMVCParameter2': sMVCParameter2 }
})
.done(функция (данные) {
//Обрабатывайте данные MVC здесь
})
.fail(функция (jqXHR, textStatus, errorThrown) {
//Сбой процесса здесь
});


Richard Deeming

Это не решение вопроса. Почему вы разместили его в разделе "Добавить свой РЕШЕНИЕ вот" коробка?!

Рейтинг:
0

Sergey Alexandrovich Kryukov

Не могли бы вы прочитать эту статью, кажется, все довольно ясно: http://blogs.perficient.com/microsoft/2014/02/asp-net-mvc-anti-forgery-token-demystified-part-1-what-is-it[^]?
(См.другие части, упомянутые на этой странице.)

Извините, если вы уже все это знаете; если да, пожалуйста, объясните свою озабоченность более ясно.

—СА