Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2010, 14:45   #1
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию Защита баз *.mdb

Добрый день!!! У меня возник вопрос:
Можно ли как-то при работе с базой данных Delphi+Access (ADO)
защитить саму базу данных mdb, которая лежит в папке вместе с ехешником, чтобы она была доступна только в режиме программы, и просто так вручную в неё никто не лазил. при этом чтобы при подключении БД к Делфи Connection String не выдавал никаких ошибок..
program123 вне форума Ответить с цитированием
Старый 09.12.2010, 15:35   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

шифруйте содержимое и все.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 09.12.2010, 15:38   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Думаю что нет... Проще шифровать в ней данные чем защищать сам файл.
Или вернее это сделать можно, но придется попотеть капитально.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.12.2010, 15:44   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Я ни разу не устанавливал пароль на таблицы Access, но много раз приходилось их взламывать. Вскрываются они просто. Даже куча программ есть для вскрытия пароля mdb. Сейчас ради любопытства открыл БД, создал пользователя и пароль и... спокойно приконнектился в ADO обычной строкой
Код:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db_test.mdb;Persist Security Info=False
без указания пароля. Если указать пароль - вылетает ошибка, а без пароля - пожалйста. А для открытия файла db_test.mdb в Access требует ввод пароля.
Вот такая защита. Имхо, mdb-файлы - не лучший вариант сокрытия информации.
P.S. Access 2007

Цитата:
Проще шифровать в ней данные чем защищать сам файл
Точно.

Последний раз редактировалось _SERGEYX_; 09.12.2010 в 15:47.
_SERGEYX_ вне форума Ответить с цитированием
Старый 09.12.2010, 16:05   #5
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Ну скажете тоже. Все эти проги подбирают пароль бутфорсом. А потому вы тут сами вольны упростить или усложнить жизнь взломщикам. Пас на базу Access устанавливается следующим простым способом

Код:
ADOConnection1.Execute(ALTER DATABASE PASSWORD Новый пароль  Старый пароль);

Последний раз редактировалось Баламут; 09.12.2010 в 16:12.
Баламут вне форума Ответить с цитированием
Старый 09.12.2010, 16:24   #6
Ecosasha
Форумчанин
 
Регистрация: 22.05.2009
Сообщений: 248
По умолчанию

Автор, наверное имел ввиду ошибку, которая вылазить, если например в AdoConnection там где указываем путь к базе ставим еще и пароль. В этом случае выходит ошибка. Для исправления этого надо, там пароль оставлять пустым, а прописывать его далее в другой вкладке, по моему в свойстве Password.
Тогда ошибок не будет, если конечно, пароль указан правильно.
В самом Аксессе открываем монопольно базу и задаем пароль.
Ecosasha вне форума Ответить с цитированием
Старый 09.12.2010, 16:25   #7
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

А почему ADOConnection1.Connected:= True; срабатывает без пароля?
Выходит, пароль и подбирать не надо? Просто открыть базу в Delphi?
_SERGEYX_ вне форума Ответить с цитированием
Старый 09.12.2010, 17:19   #8
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Цитата:
А почему ADOConnection1.Connected:= True; срабатывает без пароля?
Выходит, пароль и подбирать не надо? Просто открыть базу в Delphi?
интересно как Вы поставили True, если требует пароль?
у меня бьет ошибку

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleException with message 'Ошибочный пароль'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

могу кинуть базу попробуете...
maLoy*508 вне форума Ответить с цитированием
Старый 09.12.2010, 17:31   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А почему ADOConnection1.Connected:= True; срабатывает без пароля?
Может потому что это всего лишь подключение? Попробуй на запароленную БД запрос кинуть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.12.2010, 18:10   #10
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

по моему mdb нормально штатными средствами не защитить, кажется при зажатом cntr (или shift) пароль игнорируется, доступ по пользователям вообще только с наличием файла с этими пользователями. Так что согласен, шифровать данные это наверно единственный выход.
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод из MDB в XML artemavd БД в Delphi 28 14.10.2010 09:58
защита баз данных ELL БД в Delphi 5 04.05.2010 11:45
с Датасет в *.mdb info БД в Delphi 3 18.11.2009 12:47
MDB в DELHI cowboy БД в Delphi 6 16.06.2009 17:06
Запись в БД(*.MDB) из Excel VB MUZDIE Помощь студентам 2 18.01.2008 12:58