|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.07.2008, 07:02 | #1 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Моя программа и пароль
Добрый день уважаемые программисты! Я заканчиваю работу над программой одной и хотел бы у вас вот что спросить. Я хочу, чтобы при запуске моей программы появлялось окно, куда пользователь должен ввести имя пользователя и пароль и чтобы если они правильные, то ему было разрешено работать с программой. Вообщем я хочу сделать так сказать защиту своей программы. Как мне это сделать? И еще надо, чтобы на окне где пользователь вводит данные кнопка «ОК» не была доступна, пока данные не будут введены. Когда данные будут введены, то по нажатию кнопки «ОК» будет происходить проверка данных и если они правильные, то доступ будет разрешен. Есть идеи как это сделать? Я программирую в Borland Delphi 7 Enterprise. Заранее спасибо)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
10.07.2008, 07:42 | #2 |
Форумчанин
Регистрация: 15.06.2008
Сообщений: 271
|
А где вы имена пользователей и пароли будете хранить и в каком виде?
|
10.07.2008, 07:58 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну хранить не пароль а хеш лучше.
А по поводу ввода. Сделать форму с двумя полями. Запретить кнопку ОК, а по OnChange эдитов проверять пустые они или нет, и если оба непустые то ОК разрешить.
I'm learning to live...
|
10.07.2008, 08:09 | #4 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Можно из RXLib, там есть такой компонент
|
10.07.2008, 10:14 | #5 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
/А где вы имена пользователей и пароли будете хранить и в каком виде?//
Я не знаю пока. А как лучше сделать? /Сделать форму с двумя полями. Запретить кнопку ОК, а по OnChange эдитов проверять пустые они или нет, и если оба непустые то ОК разрешить./ А можешь если не трудно набросать пример? А то я могу ошибиться в синтаксисе. Плиз) /Можно из RXLib, там есть такой компонент/ Можно поподробнее об этом рассказать?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
10.07.2008, 10:48 | #6 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Есть библиотека сторонних компонентов. называется RXLib. Там есть компонент RxLoginDialog, который может подойти для ваших целей. У компонента есть событие AfterLogin где можно сравнивать правильность ввода и делать какието действия Внешний вид см. ниже
|
10.07.2008, 10:56 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
10.07.2008, 11:55 | #8 |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Вот, я тут быстренько написал код. Если пароль в программе не меняется, то думаю он подойдёт, а если надо менять, то надо будет данные из файла загружать. Можно для удобства хранить в .ini файле. И что бы его не нашли можно этот файл запихнуть куда нибудь в системные директории и дать ему своё расширение (К примеру .dfe ну или ещё какое нибудь) что бы не нашлось в винде программы которая может его открыть. Хотя если захотеть то можно всё открыть.
У Button'a свойство Enabled изначально должно быть равно Enabled:=False; Код:
Всегда рад помочь!
Последний раз редактировалось Stilet; 10.07.2008 в 12:47. |
10.07.2008, 17:20 | #9 |
Форумчанин
Регистрация: 25.04.2008
Сообщений: 277
|
Насколько я понял то недоступность кнопки будет зависить от того есть ли ХОТЬ КАКИЕТО ДАННЫЕ в поле edit1/2 а в вашем примере все происходит по такому сценарию:
Procedure TForm2.EditXChange(Sender: TObject); если edit1/2.text = s/p то сделать кнопку доступной если нет то недоступной... или такая задача и была поставлена и я чегото не понял???При таком коде кнопка станет доступной только если пароль и логин будут правильные... Если нет то вот так было бы правильнее: Procedure TForm2.Edit1Change(Sender: TObject); Begin if edit1.text <> '' then button1.enbled := true else button1.enabled := false; end; Да и нащет пароля... Я делал нечто похожее и делал так:Сохранял пароль в определенной ветке реестра в виде ORD(символ) то есть не сам символ а его код...конечно при знании етого нехитрого алгоритма взломщику не составит труда перевести все обратно...но вначале нада знать где копать...
it is a good day to die
|
10.07.2008, 17:30 | #10 |
instagram
Участник клуба
Регистрация: 24.05.2008
Сообщений: 1,451
|
и здесь можеш почитать:
http://programmersforum.ru/showthrea...E0%F0%EE%EB%FC |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пароль | Terran | Общие вопросы Delphi | 2 | 12.02.2008 22:32 |
Пароль | Михаил Юрьевич | Общие вопросы Delphi | 3 | 06.02.2008 16:44 |
Пароль в BDE | sander | БД в Delphi | 4 | 28.10.2007 11:16 |
программа пароль | ruslan21 | Общие вопросы Delphi | 3 | 21.06.2007 17:27 |
Про пароль icq! | sis | Безопасность, Шифрование | 2 | 03.05.2007 20:55 |