Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.07.2014, 09:32
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию Реализация авторизации в приложении

Ребят, помогите пожалуйста статейкой или книжкой где адекватно даётся мат.часть по авторизации пользователей в программе с использованием (хранением учётных записей) БД. Говно-код, вроде того, что проверяет данные в InputBox на этапе инициализации Application не предлагать

Общая идея, я так понял, выглядит так:
Код:
MainForm.OnCreate
 with TFormLogin.Create(self) do
   try
   if вызов метода Auth, который возвращает true\false при авторизации then
      не знаю что тут писать. По идее ничего, просто пропустить к методу Free; 
   else
      а если авторизация не прошла как адекватно пропустить к методу Free, и при этом закрыть MainForm?
   finally
      Free;
   end;
Сам метод Auth:
Код:
Result := false;
  While not Result do
     if ShowModal = mrOK
           if возможно связаться с удалённой БД then
              if данные совпадают then
                Result := True
              else 
                по идее нужно добавить какой-то счётчик на количество попыток


Возникают следующие вопросы:
а если к БД не будет доступа, что тогда? Пользователь не сможет работать с программой?)
В каком виде хранить пароли в БД? Cash какого-нибудь RSA(пароль) и сравнивать тогда уже только хеши?

Последний раз редактировалось Uniq!, 17.07.2014 в 09:51.
Ответить с цитированием
  #2  
Старый 17.07.2014, 10:05
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Uniq!
а если к БД не будет доступа, что тогда? Пользователь не сможет работать с программой?)
Такая тема уже была, и я даже в ней ответил.

Цитата:
Сообщение от Uniq!
В каком виде хранить пароли в БД? Cash какого-нибудь RSA(пароль) и сравнивать тогда уже только хеши?
Да, так обычно и делают MD5 уже не советуют, сейчас надежным считается SHA256.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
  #3  
Старый 17.07.2014, 13:04
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Цитата:
Сообщение от Freeman
SHA256

Я правильно понимаю, что можно воспользоваться APIшными функциями самой винды, чтоб создать Хеш?
Ответить с цитированием
  #4  
Старый 17.07.2014, 17:47
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

А есть такие? В исходниках Indy вроде самопал какой-то.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
  #5  
Старый 18.07.2014, 12:50
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Цитата:
Сообщение от Freeman
А есть такие? В исходниках Indy вроде самопал какой-то.
Инди упал при вызове функции SHA1.

Вот MSDN-ссылка
Ну и статья по теме: Delphi и Windows API для защиты секретов
Ответить с цитированием
Этот пользователь сказал Спасибо Uniq! за это полезное сообщение:
Freeman (18.07.2014)
  #6  
Старый 18.07.2014, 13:46
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Uniq!
Спасибо за статью, добавил закладку себе в доки. Сейчас этой темой не занимаюсь, так что в плане помощи по безопасной авторизации я пас.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025