Подтвердить что ты не робот

Есть ли способ переименовать имя cookie RequestVerificationToken?

Использование ASP.net MVC v2.0, любой способ изменить имя __RequestVerificationToken cookie? Чтобы скрыть наш базовый стек технологий, Id хотел бы переименовать куки файл в то, что не может быть отслежено до ASP.Net MVC.

Дополнительная информация об этом на Блог Стив Сандерсон.

4b9b3361

Ответ 1

Глядя на исходный код MVC 2, я не думаю, что можно изменить имя файла cookie. Класс AntiForgeryData запускается:

private const string AntiForgeryTokenFieldName = "__RequestVerificationToken";

и получить имя cookie, которое он просто вызывает:

string cookieName = AntiForgeryData.GetAntiForgeryTokenName(ViewContext.HttpContext.Request.ApplicationPath);

в классе HtmlHelper. Он принимает путь приложения и преобразует его в базу 64 и добавляет его в конец __RequestVerificationToken, что вы видите при просмотре источника.

Если вам действительно нужно изменить имя, я бы рекомендовал загрузить исходный код MVC 2 из кода и посмотреть, как создать собственный хелпер-хелпер и анти-поддельный токен, используя исходный код в качестве ссылки. Но при этом вы всегда можете представить свои собственные ошибки...

Ответ 2

ASP.NET MVC 3 и 4 позволяют изменять имя файла cookie, задав статическое свойство AntiForgeryConfig.CookieName. (Ссылка Msdn здесь)

Я знаю, что вопрос задается конкретно о ASP.NET MVC 2, но этот вопрос по-прежнему возвращает высокий рейтинг поисковой системы для соответствующих запросов, таких как "имя файла cookie ASP.NET MVC AntiForgeryToken". Я думал, что добавлю информацию здесь, чтобы сохранить других от декомпиляции исходного кода ASP.NET MVC 3+, как и я.