(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Защита от Shift в MS Access

Источник: Acessoft

Часто возникает необходимость закрыть доступ пользователям к окну проекта Access. Причины могут быть разные:

  1. Любопытные пользователи стали «лазить» по базе и удалили макрос или «отредактировали» запрос (такое возможно ведь и в случае c .mde)
  2. Вы решили продать свою программу. Чем меньше покупатель будет видеть не нужных ему элементов, тем лучше (см. п. 1)
  3.  Скрытие окна проекта позволяет сделать приложение более удобным в работе.

Как правило, одним из признаков, что разработчик «шагнул» от начинающего к «продвинутому» чаще всего является скрытие окна приложения.
Простейшим вариантом решения проблемы может быть скрытие окна базы данных через стандартные настройки: Сервис - Параметры запуска - убрать галочку «окно базы данных» . Однако, как уже говорилось в предыдущей статье, такую защиту столь же просто убрать, удерживая при запуске приложения Shift. В той же статье говорилось о неких «модулях», способных блокировать такую возможность. Познакомимся с одним из них.

Для построения интерфейса защиты создадим два макроса: AutoExec, AutoKeys. С первым Вы уже знакомы по статье «Автолинковка и резервное копирование». Второй выполняет похожую роль - перехватывает нажатие клавиш на клавиатуре. Чтобы он их перехватывал, он должен называться AutoKeys (зарезервированное имя в Access). Еще один важный момент - в меню Сервис - Параметры запуска уберем все галочки, иначе обойти защиту от Shift станет весьма просто: Окно - Отобразить - Окно БД. Если же отключить все меню, то в пункте меню "Окно" будут выводится только режимы расположения окон, а окно базы выводится не будет.

В макросе AutoExec дадим команду на запуск формы FrmStart, в макросе AutoKeys - формы ВклОткШифт. Причем форма ВклОткШифт будет запускаться при нажатии комбинации клавиш Ctrl + Q. Для этого в конструкторе зададим имя макроса - ^Q.

Зачем так мудрено? Дело в том, что если мы просто зададим запуск формы в Сервис - Параметры запуска, то при включении защиты от Shift будет открываться пустое окно Access. Мы закроем базу вообще для всех, в том числе и от себя! Для всякого замка должен быть ключ: им и выступает форма ВклОткШифт - через нее устанавливается и снимается защита. А если ее сделать скрытой (см. ниже) и запускать через макрос (комбинацию клавиш) - мы еще больше запутаем любопытных юзеров. Само включение происходит через свойство базы

          DBS.Properties("AllowBypassKey") = True (или False)

В зависимости от значения пароля, введенного в поле формы «ВклОткШифт» этому свойству присваивается  True или False. Затем база закрывается (чтобы изменения вступили в силу)

          DoCmd.Quit acPrompt

Итак, проведем испытание:

Запускаем наше приложение, удерживая Shift - открывается стартовая форма, окно проекта закрыто. Жмем Ctrl + Q, вводим 1234, жмем «Ввод». База закрывается. Снова щелкаем по базе, удерживая Shift - открывается стартовая форма, окно проекта открыто! И так делаем, пока не надоест.

А теперь по поводу «скрытый объект». Есть еще одна возможность заморочить пользователя. Дело в том, что в Access есть три варианта отображения объектов:

Нормальный режим (в окне базы данных не отображаются скрытые и системные объекты) установлен по умолчанию

Режим отображения скрытых объектов (в окне базы дынных не отображаются системные объекты)

Режим отображения системных объектов (отображаются все объекты)

Системный объект - это встроенный объект базы данных, определенный как системный, например таблица "MSysIndexes", или системные объекты, определенные пользователем. Для определения системного объекта необходимо, что бы его имя начиналось с символов USys. Например, добавьте к названию формы, таблицы, отчета USys - и они тут же «исчезнут», станут скрытыми, но обращаться к ним из приложения можно так же, как обычно.

Чтобы увидеть их, нужно сделать следующее:

Сервис - Параметры - Вкладка вид. В группе Отображать выберите требуемый вариант - поставьте (уберите) галочку «Скрытые объекты», «Системные объекты» и т. д.

Многих пользователей такая «защита» способна будет сбить с толку: даже сумев открыть приложение через Shift, они с удивлением обнаружат, что какой то формы или таблицы там нет, хотя при работе она видна. Но на профессионалов, конечно, такая уловка не подействует - разумеется, они знают о свойствах объектов базы данных. Но, если учесть, что большинство любопытных чаще всего бросают попытки «ковыряться», если у них не получилось с первого раза, то такая «защита» заслуживает внимания.
Выводы:

  1. Защиту от Shift можно применять только при условии, что база преобразована в .mde. В противном случае ее легко обойти, сделав простой импорт всех объектов в новую базу. В .mde как известно без декомпиляции (взлома) невозможно сделать импорт общих модулей, форм и отчетов - самого ценного содержимого базы.
  2. Если вы разрабатываете приложения на своей работе, то обычно лучший способ защиты - поговорить «по душам» с пользователями (и с начальством). Защита от Shift будет служить подобно реечному замку на гараже - при желании легко вскрывается, но не будь его, гараж обокрали бы еще быстрее.
  3. Обычно защиту от Shift применяют в комплексе с другими методами: привязка к компьютеру, вход по паролю, шифрование данных  и т. д.

Пример, как это все работает, Вы можете скачать ниже.

Ссылки по теме

Файлы для загрузки


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 31.10.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft 365 Business Standard (corporate)
Microsoft Windows Professional 10, Электронный ключ
Microsoft 365 Apps for business (corporate)
Microsoft 365 Business Basic (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
Программирование на Microsoft Access
Corel DRAW - от идеи до реализации
Проект mic-hard - все об XP - новости, статьи, советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100