Пример защиты MS Access 97-2002

Если Вы читаете эти строки, то скорее всего уже знаете, что с защитой у Access'а большие проблемы... Но кое-что всё таки сделать можно.

Защита обычно требуется либо для охраны интелектуальной собственности, либо для защиты данных от несанкционированного доступа.
С первым случаем совсем тяжеловато, специалист почти всегда сможет расковырять ваш mdb-шник в пух и прах. А вот во втором случае я обычно советую
прочитать п. 9 из FAQ'а.

Цитата:
9) Q: Какие есть дополнительные способы защиты кроме администрирования?
A1: Отключить меню Акцесса полностью: создать макрос. Допустим, no_menu. Внутри него любую функцию. Сохранить. Зайти снова, удалить эту функцию, должен получиться пустой макрос. Далее, при старте основной формы: application.menubar = "no_menu" (Восстановить можно, задав значение "".) (Layder 5055/26.26)
A2: Убрать toolbar: docmd.showtoolbar "имя тулбара", actoolbarno. (Layder 5055/26.26)
A3: Убрать шифт [запрет игнорирования установок при удержании Shift во время загрузки базы]: см. AllowBypassKey, F1 (Layder 5055/26.26)
A4: См.также хелп к: AllowBreakIntoCode, AllowBuiltInToolbars, AllowFullMenus, AllowShortcutMenus, AllowSpecialKeys, AllowToolbarChanges.
Ответы 1-4 проверены на Акс97, для более старых версий могут быть неверны.
A5: Пароль на файл - как защита не имеет практического смысла, так как для всех версий (до 8.0) Office-документов существует его просмотровщик.
A6: В MSA97+ можно (и более чем желательно) использовать файлы MDE (из которых Аксесс удаляет текст кода), хотя это накладывает некоторые ограничения (см.Help). Это тем более актуально, так как в mdb есть дыра в защите, связанная как с перетаскиванем защищенных(!) объектов методом `Drag and Drop`, так и с возможностью вставки в защищенную базу модуля, посредством которого будет нарушена защита (например, отмена пунктов A1-A4, etc).
А7: Обработка меню - см. объект CommandBars (А95+)
Во-во, никто эту муру читать не хочет, меня вот разок прижало пришлось поковыряться. Оказалось довольно просто всё...

Вначале скачайте этот примерчик (для Access 2000) и хорошенько поковыряйте его. Если вас это устраивает читайте дальше.

Защита тут слабенькая, но достаточно эффективная в большинстве применений. Спасает даже от достаточно продвинутых пользователей.

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

Установка:

1. Просто импортируйте формы, макрос и модуль себе в базу ...

Недостатки:

1. Можно открыть новый проект базы и присоединить, либо импортировать объекты защищённого проекта.

Лечится следующими мероприятиями. Делаю из mdb-шника mde проект (теперь исходники форм, отчётов и модулей уже не выдернуть).
Таблицам устанавливаю атрибут "Скрытый". Теперь, чтобы их импортировать или привязать необходимо догадаться в новой базе, куда я собираюсь их импортировать
тоже установить в параметрах галочку "Показывать скрытые элементы". А это ещё не каждый догадается...

Удачи ... (пароль для снятия защиты "simsim").

Скачать: для Access 2000, 2002 (541 kB), для Access 97 (491 kB)

 


Страница сайта http://silicontaiga.ru
Оригинал находится по адресу http://silicontaiga.ru/home.asp?artId=5094