Пример защиты 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
|