Как вы можете определить, было ли изменено viewstate в приложении ASP.Net?
Вопрос
Во время обсуждения безопасности разработчик из моей команды спросил, есть ли способ определить, был ли изменен viewstate.Мне стыдно признаться, но я не знал ответа.Я сказал ему, что выясню, но подумал, что хотел бы дать кому-нибудь здесь шанс ответить первым.Я знаю, что существует какая-то автоматическая проверка, но есть ли способ сделать это вручную, если проверка событий не включена?
Решение
Директива страницы EnableViewStateMac
Другие советы
ViewState по умолчанию имеет MIME-кодировку и хэшируется с помощью MAC-ключа (либо с компьютера, либо из файла web.config), что помогает предотвратить вмешательство (т.е.расшифровка взрывается).Вы также можете зашифровать и сжать ViewState, если хотите, для дополнительной защиты и уменьшения накладных расходов, соответственно.Видишь MS ViewState ( Состояние просмотра ) и CodeProject.com
Возможно, вы смогли бы сделать это вручную, но вы просто внедрили бы тот же алгоритм, который уже существует для вас.Как правило, отключать проверку состояния просмотра на странице - плохая идея.