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

Шифрование представлений в asp.net

У меня есть несколько вопросов о том, когда и как viewstate зашифровывается в asp.net 3.5. Например, если у меня есть машинная запись в моем web.config, например:             decryptionKey = "AutoGenerate, IsolateApps"           проверка = "AES"           decryption = "Авто" /" >

Является ли viewstate зашифрованным в этот момент? Или мне нужно также указать viewStateEncryptionMode в разделе страницы?

Кроме того, можно ли зашифровать файл cookie с формальной аутентификацией, но не зашифровать представление в одно и то же время?

Спасибо за любую помощь.

4b9b3361

Ответ 1

Элементы управления на странице могут запрашивать, чтобы шифрование использовалось для ViewState, но даже этот запрос может быть переопределен настройкой страницы.

Перечисление ViewStateEncryptionMode имеет три значения: Авто, Всегда и Никогда. Значение по умолчанию - "Авто".

ViewStateEncryptionMode.Auto

В этом режиме ASP.NET будет шифровать ViewState для страницы, если какой-либо элемент управления на странице запрашивает его. Обратите внимание, что это означает, что все ViewState зашифровано, а не только ViewState для элемента управления, который его запрашивает. Большая часть затрат на производительность, связанных с шифрованием, связана с накладными расходами. Таким образом, шифрование всего ViewState происходит быстрее, чем выполнение отдельных операций шифрования, если более чем один элемент управления делает запрос.

ViewStateEncryptionMode.Never

Как и следовало ожидать, в этом режиме ASP.NET не будет шифровать ViewState, даже если приложение настроено для шифрования, а элементы управления на странице запросили его. Если вы знаете, что данные, связанные с страницей, не должны быть зашифрованы, тогда может быть безопасно установить режим "Никогда". Однако на данный момент редко бывает, что документация об элементе управления раскрывает, что сохраняется в ViewState, поэтому вам нужно быть осторожным, если есть вероятность того, что конфиденциальные данные могут быть обнаружены.

ViewStateEncryptionMode.Always

В этом режиме ASP.NET не ждет, чтобы элемент управления на странице запрашивал шифрование. ViewState всегда зашифрована. При работе с конфиденциальными данными рекомендуется использовать шифрование.

Источник: http://msdn.microsoft.com/en-us/library/aa479501.aspx