Я использую вспомогательный метод AntiForgeryToken
. Насколько я понимаю, AntiForgeryToken является базой сеанса, так что каждый пользователь имеет один и тот же токен, но другой пользователь будет иметь другой токен (при условии, что вы используете одни и те же соли для всех форм ). Моя «проблема» заключается в том, что AntiForgeryToken
генерирует разные токены для одного и того же пользователя с одной и той же солью. Например...
Контоллер
public ActionResult Test()
{
return View();
}
Посмотреть
@using (Html.BeginForm())
{
@Html.AntiForgeryToken("Salty!")
}
Запрос выхода #1
<input name="__RequestVerificationToken" type="hidden" value="K1sijFuYvyGUJjGg33OnLjJaU3tFpGFDutRt9TOFSkZ6FcrhJMMQPnOqjIHuTwBXs/sPBXEiE+1qyV9l63nnSO161b+OtLbaBoPC7K3/7wxtnuSY+N0o/fqBgVoDyac4dNVp+OvanKBSrHINKfc3WEg9269BHOJNzFowC6Aeac/afAGTGrBypxUHfqrKVowD" />
Запрос выхода #2
<input name="__RequestVerificationToken" type="hidden" value="mOpP6LMQXnCmjr5/Wdtnhguh3PyZxWj7GWf8LYzZXPKcJBBT+DbAHvynquSD65O0DBw1RKR7DxCNg372ukftCOWms+o75CraMyFMnvjGk7RU+znIQm05eRQvr5H6d/MDyn+0DWm3jLnMBM9GplsgMRqbdAHzSe69/cS2x9A4X/9jFTZQHUWXXHUr0xewF8Rk" />
Ключи разные для одной и той же сессии с одной и той же солью. Есть ли у меня фундаментальное непонимание защиты от CRSF? Или это новая функция?