Защитете Форма парола - статия

Защитете Форма парола

Тъй като това е такъв интерес, сега ние се опитваме да разберем основите на такава защита. Нека да обсъдим как можем да го направим. Логично е, че преди да пуснете формуляра, че ние искаме да защитим, е необходимо да се напомни на потребителя за въвеждане на парола (можете да разбира се, както и комбинация от потребителско име - парола, но ние ще разгледаме примера на парола само) и да се сравни стойността влезе с някои запазени в програмата (тя може да се съхранява както изрично и криптирана). Ако да съответстват на стойностите, тогава ние ще се отвори необходимата форма, или за попълване на документи за кандидатстване.

Нека сега се обърнем директно за оформянето на развитието на парола. Докато ние се развие всичко и не трябва да: опростената версия на тази форма Delphi консумативи. Вие трябва да изберете точка от менюто File -> New. В диалоговия прозорец, изберете Циферблат раздела. кликнете на парола Dialog и натиснете ОК. На екрана се появява готов да формира искане парола, за да PasswordDlg за името.

На тази форма, ще има две ОК и Cancel бутони. парола текст поле за въвеждане на име Парола. Label1 етикет, който казва, въведете паролата. Замяна на имот Надпис Label1 етикет за приятен български око "Enter Password". Също така, промените Надпис имота за себе си под формата на "Искане за парола ', например.

Обърнете внимание на полето за въвеждане PasswordChar имот редактирате е * (звездичка) - това означава, че когато въведете всички символи ще бъдат заменени със звездички.

Ние трябва да гарантираме, че формулярът за заявка парола се появява на екрана, преди основната форма. Това се прави така. В събитието манипулатор на основната форма OnShow трябва да напишете кода така:

Този код се изпълнява нашата форма за заявка парола (PasswordDlg) преди основните. И да предоставя основната форма, формата, преди да затворите подкана за парола. Сега стартирате програмата, компилаторът ще ви попита дали искате да добавите към употреби. Модул от втория вид, разбира се, ние трябва да отговорим на това, което искате!

След това се процедира, както следва. Паролата ще бъде съхранена като константа в нашата молба. Когато въведете правилната парола ще се отвори основната форма, и ще завършим нашата молба, когато въведете грешна парола, натиснете бутона Отказ и други опити за затваряне на справката-декларация.

За да направите това, напишете манипулатор за OnCloseQuery събития за формата за запитване. Тук ние ще сравни съдържанието на полето за въвеждане с нашата постоянна парола, които ще бъдат обявени в същия манипулатор. По този начин се оказва, следния код:

Така разбрахме, най-лесният начин да се защитят форми. Ако искате да сравните паролата нечувствително, че е необходимо да конвертирате двете струни, например, с малки букви. За да направите това, вие трябва да се промени само с един ред:

ако Password.Text = премине след това CanClose: = вярно

трябва да се заменят с:

ако малки (Password.Text) = малки (подаване), след това CanClose: = вярно

Сега ние ще се опитаме да защитим формата на парола, която ще се съхранява в криптиран вид. Шифроване на паролата по най-простия начин - XOR. За да направите това, напишете функция:

Чрез своето име функцията ще върне криптиран низ е преминал в текста на параметрите. Не забравяйте да декларира тази функция в обществения раздела:

Сега нека да се промени OnCloseQuery манипулатор събитие. описани в първия пример, такава:

процедура TPasswordDlg.FormCloseQuery (Sender: TObject;
Var CanClose: булеви);
Var пас: низ;
започвам
премине: = xortext ( "Wellcome);

Както можете да видите е променила доста, а сега паролата в криптиран вид може да се съхранява например в някои файл. Така защита на вашата форма :-)

Статии, свързани с теми

За да поставите препратка към тази статия на друг сайт, използвайте следната HTML-кода: