ValidateAntiForgeryToken представляет значение cookie для сеанса - PullRequest
1 голос
/ 07 ноября 2011

Я не уверен, является ли это "особенностью" или ошибкой в ​​среде MVC.

При реализации нескольких действий с атрибутом [ValidateAntiForgeryToken] они заметили, что хотя в представлении поле скрытого текста _ RequestVerificationToken изменяется при каждой перезагрузкестраницы, файл cookie _RequestVerificationToken_Lw __ всегда остается неизменным для длины сеанса, т. е. все представления будут использовать одно и то же значение файла cookie для сравнения.

Насколько я могуСобственно, значение в представлении отличается, потому что оно каждый раз шифруется, но на самом деле, как и cookie, оно также совпадает с cookie для продолжительности сеанса.

Мой вопрос такой.Разве мы не можем заставить этот cookie иметь различное значение для каждого отдельного запроса?

Я бы подумал, что сохранение одного и того же значения cookie для продолжительности сеанса представляет собой угрозу безопасности, поскольку злоумышленник может получить его, и наши превентивные меры CSRF (межсайтовая подмена запросов) будут отмененыокна.

Есть ли способ заставить этот файл cookie получать разные значения для каждого запроса?

1 Ответ

2 голосов
/ 07 ноября 2011

Этот файл cookie по-прежнему является частью трехэтапной защиты.

Они должны иметь

  1. Файл cookie
  2. Ваше имя для входа (следовательно, ваши файлы cookie для проверки подлинности форм)
  3. Жетон защиты от подделки со страницы.

Имея это в виду и используя ssl (который вы всегда должны использовать!), Учитывая тот факт, что токены НЕ являются токенами одноразового использования в любом случае, ваш уровень защиты, скорее всего, не изменится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...