Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пароль на базу данных MS Access


Washington ©   (2007-12-18 11:19:00) 

Мне надо поставить пароль на базу данных так, чтобы ей можно было пользоваться только через мою прогу. Как это сделать?


morgoth   (2007-12-20 09:18:00) [1]

>>Прога делается для широкого круга юзеров так сказать
т.е. мы тут тебе всем миром помогаем бабло зарабатывать?


vegarulez   (2007-12-19 19:05:00) [2]

одним словом шароваришь...
как юзер могу сказать - нам юзерам это не нравится...
фриварить нада.... )


Washington   (2007-12-19 12:52:00) [3]

Нет договора, т.к. нет заказчика. Прога делается для широкого круга юзеров так сказать


morgoth   (2007-12-19 12:47:00) [4]

>>это в лицензионном соглашении
это надо предусматривать в утвержденном к договору ТЗ, по которому делается задача...


Washington   (2007-12-19 12:40:00) [5]

Да нет, не будет никаких главных юзеров. Короче поставлю пароль. Ну а если ломанут - их проблемы. По идее это можно предусмотреть это в лицензионном соглашении. Так ведь?


morgoth   (2007-12-19 12:31:00) [6]

Поставь пароль на базу конечно и скажи его самому главному юзеру, вдруг нужен будет доступ без твоей программы...
А если остальные юзеры настолько долбаные, что очень хотят ковыряться в базе, то пусть потом тебе платят деньги за то время, которое ты потратишь на восстановление если что-то испортят. По-моему все честно, здесь больше административный вопрос. Либо сделай возможность задавать пароль на базу самостоятельно какому-нибудь главному юзеру. Все зависит от задачи и назначении программы.


Washington   (2007-12-19 12:22:00) [7]


> morgoth   (19.12.07 11:51) [8]

То есть ты предлагаешь никаких паролей не делать?


morgoth   (2007-12-19 11:51:00) [8]

>> Если они её взломают и напоганят там, они просто не смогут пользовать прогу, которую они у меня покупают.

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


Washington   (2007-12-19 11:00:00) [9]

Да нет, просто нужно защитить базу от всяких, кто возомнил себя, в смысле простых юзеров. Если они её взломают и напоганят там, они просто не смогут пользовать прогу, которую они у меня покупают. Просто на всякий случай это делаю


orinoko   (2007-12-18 17:44:00) [10]

Учитывая всё вышесказанное, осмелюсь предложить следующий вариант. Пароль на базу ставить нет смысла, но можно шифровать некоторые особо критичные поля таблиц. И, таким образом, без Вашей программы с этой базой никто работать не сможет. Тут, правда, есть нюансы. Например, логика Вашей программы может не допускать шифрования полей, которые вам позарез нужно спрятать.


Сергей М.   (2007-12-18 14:27:00) [11]


> user его не знает


В два приема узнает - примочек, "взламывающих" mdb, в Тырнете немеряно.


morgoth   (2007-12-18 13:02:00) [12]

может я снова не понял, но попробуй пароль прописать в свойство Connection String компонента ADOConnection


Washington   (2007-12-18 12:53:00) [13]

Может быть вы меня не поняли. Мне нужно сделать так, что при открытии базы запрашивается пароль, user его не знает, так что открыть не может. А прога знает пароль и помнит -> пользоваться базой можно через прогу. Пользую ADO для связи с базой данных.


palva   (2007-12-18 12:34:00) [14]


{$APPTYPE CONSOLE}
uses ActiveX, ComObj;
var
 db, dbe: OleVariant;
begin
 CoInitialize(nil);
 dbe := CreateOleObject('DAO.DBEngine.36');
// Сначала создаем сразу с паролем
 dbe.CreateDatabase('pwdbase.mdb', ';LANGID=0x419;CP=1251;COUNTRY=0;pwd=qwer');
// Открываем в монопольном доступе для смены пароля
 db := dbe.OpenDatabase('pwdbase.mdb', True, False, 'Ms Access;pwd=qwer');
// Меняем пароль
 db.NewPassword('qwer', 'zxcv');
// Открываем в разделяемом доступе
 db := dbe.OpenDatabase('pwdbase.mdb', False, False, 'Ms Access;pwd=qwer');
// Проверяем работу
 WriteLn(db.CollatingOrder); //' 1049
end.


morgoth   (2007-12-18 12:16:00) [15]

эмммм, никак... а просто пароля мало?


Наверх

Титульная страница Поиск, карта сайта Написать письмо