![]() |
|
|
![]()
|
|
| RinOSpro |
|
|||
|
Unregistered |
Обратил внимание на это 'user'@'%'? это значит что юзеры могут подключаться с любого хоста. Программа написана на Delphi то есть в процессе написания. Хотя на счет 3 звенной авторизации идея хороша! Пользователь не имеет пароля к БД но имеет пароль авторизации, который в месте с логином отправляется в скрипт кторый в свою очередь возвращается пароль к БД и программа коннектиться. ![]() плюсы: человек не сможет подключится к БД тк этот пароль не является паролем БД. минусы: снифер еще ни кто не отменял, проще будет получить даже чем из зашифрованного экзешника. сложно будет поддерживать много пользователей. Так народ, хорошие идеи стали появляться)) Высказываем не стесняемся) Это сообщение отредактировал(а) RinOSpro - 24.4.2009, 16:29 |
|||
|
||||
| Bose |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
Честно скажу, я с MySql в таком плане работал. А вообще, я подразумевал, что можно выдать права на SELECt из вьюх/хранимов, не давая юзерам прав на чтение таблиц. А для вьюх и хранимок выдать права на работу с таблицами. Модификация данных через триггеры/хранимки (если в MySql такое есть). Ещё возможен вариант, когда пользователь вводит пароль, пароль шифруется(или тупо берётся хэш) каким-то образом, и к БД подключается уже с помощью зашифрованного пароля. Но при создании пользователя/смене пароля, введённый пользователем пароль тоже должен быть зашифрован. Таким образом, зная свой пароль пользователь может войти в программу, но не может подключится к БД, потому что работа с БД ведётся уже через другой пароль. Который, зная алгоритм, может быть получен из пользовательского. |
||||
|
|||||
| RinOSpro |
|
|||
|
Unregistered |
Bose да тоже не плохой вариант
Это сообщение отредактировал(а) RinOSpro - 27.4.2009, 09:36 |
|||
|
||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
Нет. Идея в том, что зашифрованный пароль передаётся прямо на сервер. И пароль нигде не расшифровывается. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
||||
|
||||
| RinOSpro |
|
|||
|
Unregistered |
Bose хм... тогда я ни чего не понял... Вот смотри есть ADOConnection там есть параметры login password. И куда подсовывать зашифрованнный пароль?
|
|||
|
||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
Например:
Есть юзер, который знает свой логин: user1 и пароль test1 Есть функция шифрующая пароль. Зашифрованный пароль test1 будет выглядеть например так: 1tset. В базе данных создаётся аккаунт для этого пользователя: логин: user1 пароль: 1tset (уже зашифрованный) Получается, программа стартует, юзер вводит логин: user1 и пароль: test1. Программа шифрует этот пароль и получает 1tset. В ADOConnection передаётся user1 и 1tset. Получается, что если юзер подключается к БД через программу, то всё ок. А если захочет напрямую, то ничего у него не выйдет. |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
Bose, так ведь в екзешнике пароль этот посмотреть можно...
RinOSpro, наверное, это имеет ввиду... |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Мне кажется, Bose имеет ввиду шифрование паролей пользователей, а не соединения ADO.
Добавлено через 2 минуты и 12 секунд В этом случае есть 2 варианта:
|
|||
|
||||
| RinOSpro |
|
|||
|
Unregistered |
Kbl4AH в точку =) В отладчике можно будет увидеть это зашифрованный пароль.
Bose когда я на лету буду шифровать и передавать в ADOConnection пароль то человек отлаживающий программу скажем через OllyDbg тоже ее увидит 1tset тот самый пароль передающийся на сервер. Но в целом очень даже не плохой метод =) Легко реализуемый. |
|||
|
||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
Ну знаешь со всех сторон соломки не подстелишь! И вообще, какова вероятность того, что кто-то из пользователей: 1) умеет пользоваться phpMyAdmin 2) догадается каким образом сделана защита 3) будет специально дебажить программу в OllyDbg(кстати, а как им пользоваться 4) будет иметь время и желание для того чтобы этим заниматься 5) всё вышеперечисленное вместе взятое В том и прелесть, что легко реализуемый. |
|||
|
||||
| RinOSpro |
|
|||
|
Unregistered |
Bose я боюсь утечки пароля), а уж желающие поломать найдутся)) специфика ПО такая))
Ну может в голове у когото родилась еще какая гениальная идея? )) |
|||
|
||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
Тогда как вариант - сервер приложений. Пароль передаётся туда и шифруется уже там. В этом случае доступ к базе данных вообще можно закрыть снаружи. |
|||
|
||||
| RinOSpro |
|
|||
|
Unregistered |
Не совсем понял смысл "сервера приложений"... Ты предлагаешь 3-х звенную архитектуру? Типа DataSnap, SOAP? Нет такой вариант не подходит. Единственное что возможно так это криптор написанный на php (хотя бы скроем алгоритм шифрования) что бы усложнить жизнь взломщикам. Это сообщение отредактировал(а) RinOSpro - 30.4.2009, 16:02 |
|||
|
||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |