Рис. 25.8. Шифрование важной информации в базе данных
Во многих случаях информация запроса URL несет в себе введенные пользователем данные, и не важно то, что пользователь может видеть или модифицировать ее. В других случаях, однако, строка запроса содержит информацию, которая должна оставаться скрытой от пользователя. В этой ситуации единственный выбор заключается в переключении на другую форму управления состоянием (который может иметь другие ограничения) ила же в том, чтобы заставить систему шифровать строку запроса.
В следующем примере вы увидите простой способ укрепления безопасности
за счет шифрования информации перед помещением ее в строку запроса. Опять
же, вы можете положиться на криптографические классы, представленные .NET.
Фактически, можно положиться на DPAPI. (Конечно, это можно сделать, только находясь в среде сервера. В этом случае вы можете использовать ранее созданной
криптографический класс и развернуть тот же файл с ключом на любой машине).
Начальная точка — это создание класса EncryprtedQueryString. Этот класс
должен принимать коллекцию строковой информации (такой как строка
запроса) и позволять вам извлекать ее на другой странице. "За кулисами" класс
EncryptedQueryString должен шифровать данные перед помещением их в
строку запроса и незаметно расшифровывать где-то на пути.
Вот начальная версия класса EncryptedQueryString, который вам
понадобится:
предыдущая следующая страница вначало главы оглавление
1019