Есть ли способ переименовать имя файла 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 + исходный код, как и я.