![]() |
|
|
![]()
|
|
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 1 Всего: 6 |
вот написал тест для студентов. Программа берет вопросы и ответы из БД Access. Я предоставляю мою программу test.exe и файл базы baza.mdb и еще парочка dll. Так вот - как спрятать файл базы данных от шаловливых ручек?
1) можно задать пароль - но это легко ими взламывается. Есть доступные проги. И вообще не хочу этот способ. 2) можно запрятать базу данных куда-нибудь к чертовой матери в папку. Но ведь найдут же... или при переносе приложения - проблемы будут. Вобщем тоже вариант не устраивает. Есть еще вариант - шифровать записи в БД, но желаю знать возможны ли следующие способы: 1)Может это файл базы данных можно как-нибудь так упаковать или зашифровать чтобы было бы и не ясно, что это вообще такое? Чтобы не поняли как открыть. 2)Или есть способ вообще само приложение с dll и с базой запаковать в один файл exe - и при этом чтобы все еще и работало! Имею ввиду чтобы данные из базы можно было брать. Какие советы будут? |
|||
|
||||
| vladimir74 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: 2 Всего: 3 |
проще перенести базу на сервер, тогда студентом придется взламывать его и это уже немного сложнее (хотя в природе невозможного нет)
во вторых при установке на новую систему не надо переносить базу, ну и самому удобнее. не надо со всех компов собирать ответы... Только вот не помню позволяет ли БД Access многопользовательский режим :( (кажется что то было по жтому поводу). Можно конечно переименовать файл во что то с экзотическим именем и засунуть его куда нить в папку виндовса --------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
1) шифровать ответы (но надо базу ReadOnly сделать)
или 2) базу на учительский комп (требуется написание простенького сервера приложений) -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: нет Всего: 128 |
запаковать в ресурсы лежащей рядом dll... ну плюс пожать и зашифровать...
-------------------- There are always someone smarter than you... |
|||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 1 Всего: 6 |
2 vladimir74 -
а сервером не знаю - есть ли он там вообще 2 pseud - подскажи как реализовать этот простенький сервер приложений? хотя бы в теории по шагам расскажи? Ни разу не сталкивался... все же интересует вопрос - возможно ли БД засунуть в какой-нибудь dll или exe при том чтобы она работала нормально Добавлено через 2 минуты и 9 секунд 2 MetalFan - кааак?? есть test.exe, baza.mdb, 1.dll, 2.dll. Dll с формами другими. Как базу запихнуть в ресурсы? |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
MIDAS. Пример реализации приложения для просмотра таблицы animals.dbf БД DBDEMOS тебе, ведь, как раз только "просмотр" нужен. -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 1 Всего: 6 |
2 pseud не только просмотр...))) мне еще нужно второе приложение будет написать - там преподаватель должен будет редактировать вопросы и ответы. ))))))) спасибо за ссылку - буду осваивать...
Все же если нет сервера в этом классе? Решение: Шифровать ответы. Но хотелось бы еще и саму базу как-нибудь защитить или пожать или запихнуть в ресурсы... Но как сделать? |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: нет Всего: 128 |
алгоритм наверное может быть примерно такой:
на время работы программы БД извлекается из ресурсов лежащей рядом библиотеки, распаковывается и расшифровывается, а затем кладется в нужное место, где с ней будет производиться работа... соотв. при завершении приложения производим обратные действия. По поводу работы с ресурсами см. функции BeginUpdateResource/UpdateResource/EndUpdateResource -------------------- There are always someone smarter than you... |
|||
|
||||
| vladimir74 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 28.11.2006 Репутация: 2 Всего: 3 |
Teleport, сервером может работать и учительский компьютер. Тогда и база будет там находиться. Главное чтоб в классе была сеть...
Добавлено через 3 минуты и 58 секунд алгоритм старый Добавлено через 5 минут и 41 секунду сервер ИМХО лучший выход (даже если придется сначала помучаться). Все остальное - это временные решения и то что дал я с изменением названия, и твое :( --------------------
* В доме помешанного не говорят о миксере.* На любой Ваш вопрос у меня есть любой мой ответ. |
|||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 1 Всего: 6 |
нет там сети, узнал я. ))))))))))нужно на каждый комп.. вот так)))))))))
по поводу работы с ресурсами нашел вот что - http://delphi.my1.ru/publ/9-1-0-107 если есть еще материалы интересные по работе с ресурсами - прошу выложить. Спасибо за ответы. Что я понял из них: Решений 2: 1) при наличии сети - базу на сервер + шифровать ответы 2) без сети - базу в ресурсы + шифровать ответы. |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
1) - можно и не шифровать 2) - как вариант можно написать "несворачиваемое/всегда_сверху_лежащее" приложение тогда можно и без ресурсов и без шифровки - еще вариант - запускать винду в режиме очень и очень обрубленных прав, т.е. пуск + наша_прога и больше ничего на рабочем столе нет. хотя, ресурсы + шифровать ответы, все-таки, профессиональнее, но дольше Добавлено через 5 минут и 23 секунды при импорте из ресурсов можно сохранять в глубоко закопанную папку с рандомайзенным именем, имя файла базы (если Access не против) также рандомайзенное давать. тогда "умельцы" не смогут найти одинаковые файлы на разных компах для сравнения и идентификации их как файлы базы. Добавлено через 10 минут и 17 секунд еще алгоритм: 1. достали базу из ресурса 2. сохранили в виртуальные таблицы 3. удалили темповую базу 4. работаем с виртуальными таблицами да, сложно и медленно. но надежно -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Можно средствами винды.
1. Делаем базу невидимой, или папку с базой. 2. Все работают с правами простых пользователей. 3. средствами политик запрещаем всякие менюшечки, которые управляют папками, можно, например, спрятать меню Сервис из Проводника ну и т.д. |
|||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 1 Всего: 6 |
итак, сети нету в классе учебном. Будет не скоро... Так что я решил шифровать ответы и запихать бд в файл ресурсов.
Вот теперь вопрос - как запихать эту бд в ресурсы? Шаг первый, насколько я понял - создание файла myres.rc и потом его компиляция в myres.res? Правильно говорю? Если так, то как будет выглядить этот myres.rc? |
|||
|
||||
![]()
|
| Правила форума "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. |