LEADERSOFT.ru Разработка на заказ программ и сайтов
ЕСЛИ БАЗА ВАМ НУЖНА В ЛИДЕРСОФТ ЗАЙДИ СПЕРВА!
Список всех статей ... Подписка на новости (рассылка через subscribe.ru)




































Выпуск 6. Как защитить базу данных Access ?

Подписка: "Access 2000 - программирование и готовые решения"
Дата:         04.09.2000
Сайт:         http://www.leadersoft.ru
Слоган:     Если база Вам нужна, в LeaderSoft зайди сперва.
Комментарий: 
      Мы разрабатываем по заказам клиентов различные программы, используя Microsoft Access. Базы данных разрабатываются "с нуля" или, используя готовые решения (Склад, Касса, Банк и т.п.), что позволяет достаточно гибко решать финансовые вопросы по оплате услуг за разработку. Для регистрации заказа заполните форму: Регистрация заказа на разработку


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

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

2. Для тех баз данных, которые надо частично защитить, в Access есть компилятор mdb -> mde, и после такой компиляции становиться невозможно прочитать формы и VBA - коды. К сожалению этот метод не защищает таблицы и запросы, но тут надо учесть то, что для большинства баз данных - это и не нужно.

3. Разработчик, который хочет надежно защитить свои данные, никогда не будет использовать только чужие программы для защиты своей информации. Он всегда будет пытаться придумать свой метод или алгоритм.

II. В связи с важностью темы, я привожу открытые коды для снятия и установки защиты на всю базу данных Access и ее поле "Телефон". Код публикуется на сайте www.leadersoft.ru в разделе "Архив подписки" (смотрите пункт 6).

1. В файле subcsribe06.zip (~50 KB) сохранено 2 файла: subcsribe06.mdb (БД Access 2000 с кодами на VBA) и subcsribe06_97.mdb (пустая база Access 97, используется для установки или снятия пароля)

2. Запустите программу: subcsribe06.mdb и перед Вами появится форма с двумя примерами по защите базы данных.

3. "1 пример" показывает как снять защиту с базы данных Access 97 и установить на нее пароль (1). Для просмотра кода нажмите соответствующую кнопку. Его Вы сможете использовать и тогда, когда пользователь забудет пароль и попросит Вас открыть его базу.

4. Наиболее надежный способ защиты базы данных - это защита ее полей с помощью собственного алгоритма. "2 пример" показывает как защитить поле "Телефон" в таблице "Телефонная книжка". Используется алгоритм - "реверс строки", т.е. при записи в таблицу записывается телефон наоборот. Далее, когда пользователь входит в поле "Телефон", запускается алгоритм расшифровки, и он видит в низу формы правильный номер клиента.

5. Дополнительно надо отменить, что алгоритмы зашифровки и расшифровки желательно сохранить в другом файле, например, в DLL библиотеке.