MVC3 - Размещение конфиденциальной информации в ViewBag - PullRequest
3 голосов
/ 19 августа 2011

Является ли плохой идеей помещать конфиденциальную информацию (идентификаторы пользователей, строки подключения, вещи, которые я не хочу видеть другим пользователям) в ViewBag? Может ли внешний пользователь получить эту информацию каким-либо образом?

Моя мысль - нет, они не могут добраться до нее (я пытался, не то чтобы я в LulzSec), но мне было любопытно на мысли других людей.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 19 августа 2011

ViewBag основан на сеансе, и он основан только на запросе CURRENT, и поэтому имеет те же ограничения, что и сеанс, с дополнительным преимуществом, которое он удаляет в конце этого запроса, поэтому нет - это недоступно. Даже если кто-то сможет украсть ваш идентификатор сеанса и захватить сеанс, данные представления исчезнут.

TempData - это еще одна история, и перехват сеанса позволил бы пользователю перехватить другой сеанс - следовательно, tempdata, но пользователь по-прежнему не сможет увидеть это по умолчанию, если вы не передадите эту информацию в информацию трассировки. Так что, в принципе, если бы я мог украсть ваш сеанс, любой код, который у вас есть в следующем запросе, будет выполняться для меня, а не для пользователя, который «ожидает» следующего запроса. Но они все еще не могут перечислить его и получить к нему доступ.

2 голосов
/ 19 августа 2011

Поскольку ViewBag используется только для обработки на стороне сервера, добавляя динамическую функциональность для имитации более подходящего для Ruby или Python подхода, я не думаю, что вам нужно больше беспокоиться о безопасности, чем обо всем, что хранится и используется ваш сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...