Для чего используется шифрование данных на странице представления?



Теперь, когда мы ознакомились с базовыми принципами организации криптографии .NET, самое время собрать все вместе. В следующих разделах будут созданы два класса, которые используют симметричный и асимметричный алгоритмы. В разделе "Шифрование информации в базе данных" один из этих классов будет применяться для шифрования ответственной информации, такой как номер кредитной карты, сохраняемой в базе данных, а в следующей статье "Шифрование строки запроса" будет показано, как шифровать строку URL-адреса HTTP-запроса GET или POST.

Для шифрования и расшифровки важной информации потребуется выполнить следующие шаги (они будут подробно объясняться в последующих разделах):

1. Выберите и создайте алгоритм.

2. Сгенерируйте и сохраните секретный ключ.

3. Зашифруйте или расшифруйте информацию через CryptoStream.

4. Закройте соответствующим образом исходный и целевой потоки.

После создания и тестирования своих служебных классов шифрования должна быть создана база данных для хранения секретной информации и написан код для шифрования и расшифровки этой секретной информации в базе данных.

Управление ключами

Прежде чем обратиться к деталям работы с классами шифрования, следует подумать об одном дополнительном моменте: где хранить ключ? Ключ, используемый для шифрования и расшифровки - это секрет, поэтому он должен храниться в безопасном месте. Часто разработчики думают, что лучше всего хранить ключ в исходном коде. Однако это одна из наиболее серьезных ошибок, которую только можно допустить в своем приложении. Предположим, что есть следующий код в составе кода библиотеки классов, которая будет компилироваться в двоичную DLL-библиотеку:

public static class MyEncryptionUtility{// Тссс!! Не говорите никому!private const string MyKey = "m$%&kljasldk$%/65asjdl"; public static byte[] Encrypt(string data){ // Использовать "MyKey" для шифрования данных return null;}}

Как создать внешние методы помощника Helper?

Создание внешнего вспомогательного метода

Встраиваемые вспомогательные методы удобны, однако они могут использоваться только внутри представления, в котором объявлены, и если такие методы включают слишком много кода, то представление становится трудным для чтения.

Альтернативой является создание внешнего вспомогательного метода HTML, который выражается как расширяющий метод C#. Внешние вспомогательные методы могут применяться более широко, однако они несколько неудобны в написании, т.к. в C# не поддерживается элегантная генерация HTML-элементов. Для демонстрации этого средства в пример проекта добавлена папка Infrastructure, в которую помещен новый файл класса по имени CustomHelpers.cs:

using System;

using System.Web.Mvc;

 

Namespace HelperMethods.Infrastructure

{

Public static class CustomHelpers

{

   public static MvcHtmlString ListArrayStringItems(this HtmlHelper html, string[] list)

   {

       TagBuilder tag = new TagBuilder("ul");

 

       foreach (string str in list)

       {

           TagBuilder itemTag = new TagBuilder("li");

           itemTag.SetInnerText(str);

           tag.InnerHtml += itemTag.ToString();

       }

 

       return new MvcHtmlString(tag.ToString());

   } }}

Созданный здесь вспомогательный метод выполняет ту же самую функцию, что и встраиваемый вспомогательный метод из предыдущего примера - он получает массив строк и генерирует HTML-элемент <ul>, содержащий элемент <li> для каждой строки в массиве.

Для чего используются методы генерирования форм веб-страниц?

Пайдаланушы HTML-дегі веб-сервермен өзара әрекеттесу үшін пішіндер ұсынылады. Пішіндер пайдаланушыға қажетті ақпаратты енгізуге және веб-сервер енгізген деректерді өңдеуден кейін нәтиже алуға мүмкіндік береді. Мысалы, іздеу, авторизациялау және т.б.

Бұл HTTP сұрауларын POST әдісімен (әдеттегі гиперсілтемесін пайдаланғанда, біз GET әдісін қолданамыз) жібере алатын пішіндердің көмегімен. Деректер серверге әрбір пішін өрісі үшін жасалатын аты-мән жұптары түрінде беріледі.

<Form> тегінің көмегімен веб-беттегі пішін жасай аласыз. Өзі <form> тегі веб-беттің блоктық элементі болып табылады. Бұл тег бірнеше маңызды, бірақ міндетті емес атрибуттарға ие.

Әрекет төлсипатында жіберілген деректерді өңдейтін сценарийдің мекенжайын көрсетуге болады. Мекенжай абсолютті немесе салыстырмалы жол ретінде көрсетілуі мүмкін. Егер бұл төлсипат орнатылмаса, әдепкі бойынша, пішін деректерді ағымдағы веб-құжаттың мекен-жайына жібереді.

Атрибут әдісінде HTTP протоколына сәйкес деректерді беру әдісін көрсетуге болады. Бұл атрибуттың мәні GET немесе POST болуы мүмкін. Әдепкі бойынша, бұл төлсипат көрсетілмесе немесе мән екі әдіске сәйкес келмесе, GET әдісі қолданылады.

<Form> тегінің ішінде пішін элементтері үшін тегтер орналастыру қажет. Бұл сабақта сіз пішіннің мәтіндік элементтерін және жіберілу батырмасын тексересіз.

Қарапайым мәтін өрісі <input> тегі мен қажетті төлсипатты мән мәтінімен бірге жасалады, яғни: нысаны элементтерін тегтер, сондай-ақ веб-сервер нысандарын түрлі элементтерден деректер ажырата мүмкіндік береді аты төлсипатын көрсету керек. Бұл атрибут еркін болуы мүмкін, бірақ ол қисынды тағайындалған саласындағы байланысты болғаны дұрыс.

Жіберу батырмасын жасау үшін ұқсас тегті жасауыңыз керек, бірақ ұсынылатын атрибуттың мәнімен

<input type = 'жіберу'>

мысалы, құпия сөз өрісі (түріне = 'құпия сөз') және электрондық пошта мекен-жайы (түрі = 'электрондық пошта «) үшін өрісі - қарапайым мәтін жолағына бірнеше өзгешеліктері бар. құпия сөз өрісі қарапайым мәтіндік өрісіне бірдей, бірақ терілген мәтін анық қауіпсіздік болуы мүмкін емес көруге. электрондық пошта мекенжайы үшін далалық және кәдімгі мәтін бірдей, бірақ пайдалы функциясы бар - оның гольф ретінде көрсетілген, егер браузерлер автоматты түрде, енгізілген электрондық пошта мекенжайына дұрыстығын тексереді. Бұл мүмкіндік HTML 5 сипаттамасына қосылады. Сондай-ақ, енгізу тегтерінде келесі атрибуттарды орналастыру ыңғайлы:

id - құжаттың объектілі моделіндегі нақты элементті бірегей түрде анықтау үшін сценарийлер арқылы пайдаланылатын веб-беттегі бірегей мәнге ие болуы керек.

placeholder - деректерді енгізген кезде жоғалып жатқан өрістегі мәтін үлгісі

value - әдепкі өріс мәні. Деректерді жіберу батырмасы - бұл батырмадағы жазу.

 


Дата добавления: 2018-02-15; просмотров: 562; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!