У меня возникают проблемы при попытке понять, как я могу справиться с 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()
, когда есть существующая страница.По сути, удаление проверки, когда я нахожусь на одной из этих страниц.- Вопрос безопасности, так что не заинтересованы в этом.
Есть еще предложения?Я что-то упустил?