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

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

более подробно об этом-в блог Стива Сандерсона.

2 ответов


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

private const string AntiForgeryTokenFieldName = "__RequestVerificationToken";

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

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

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

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


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

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