Маркер cookie анти-подделки не совпадает на несуществующих страницах - PullRequest
0 голосов
/ 04 января 2019

У меня возникают проблемы при попытке понять, как я могу справиться с AntiForgeryToken.

У меня есть форма, которая отправляет сообщения в контроллер.Форма содержит тег @Html.AntiForgeryToken(), а мой контроллер имеет атрибут [ValidateHeaderAntiForgeryToken].Все работает хорошо, за исключением случаев, когда я пытаюсь опубликовать сообщение со страницы, которая не существует.

В этом конкретном проекте, когда пользователь пытается получить доступ к странице, которая не существует, он все равно переходит кURL этой страницы, но он показывает содержимое страницы 404 и код состояния 404.

Вот где у меня проблема -> все страницы (включая саму страницу 404) ведут себя нормально, и контроллер проверяет антивирусжетон подделкиОднако в случае, если пользователь переходит на несуществующую страницу, токены не совпадают, и я получаю следующее сообщение:

The anti-forgery cookie token and form field token do not match.

Я вижу 2 варианта: 1-Удалитьформа с этих страниц;2-Пропустите проверку, удалив атрибут, и вызовите AntiForgery.Validate(), когда есть существующая страница.По сути, удаление проверки, когда я нахожусь на одной из этих страниц.- Вопрос безопасности, так что не заинтересованы в этом.

Есть еще предложения?Я что-то упустил?

...