Защита от копированияИсточник: Accessoft
Такая защита необходима, если Вы решите помешать кому либо сделать копию вашей программы. Это в первую очередь касается коммерческих разработок. Хотя в случае с Access приложениями это несколько спорный вопрос: а нужна ли кому то Ваша программа кроме Вас и иногда заказчику, для которого она делалась? Ведь даже в таких, казалось бы, стандартных приложениях типа «Складской учет» довольно часто приходится что то править под конкретного заказчика. В этом особенность распространения баз данных. Тем не менее, рассмотрим способ, затрудняющий копирование программы. Речь пойдет о регистрации. Чтобы нельзя было «воровать» программу, ее нужно привязать к конкретному компьютеру. Делается это при помощи специальных функций, определяющих уникальные параметры машины: номер винчестера, имя компьютера, процессор, имя пользователя и т. д. Общая схема распространения программ, используя сервис регистрации такая:
Такая схема позволяет сделать очень удобный сервис: сначала пользователь скачивает демо-версию программы, а затем, если она ему понравится, регистрирует ее и получает полнофункциональную версию. В демо-режиме программу нужно в чем то ограничить. Для баз данных это обычно ограничение по количеству записей, или невозможность распечатки какого либо важного отчета. Реализуется это при помощи функции, которая запускается, например, при попытке распечатать отчет, и если программа не зарегистрирована, блокирует печать. То же и в случае с ограничением количества записей: если на событие формы «после обновления» повесить процедуру, проверяющую регистрацию и считающую максимальное количество записей в данной таблице (источник данных формы), то можно сделать условие - если записей больше чем можно, то свойству формы «Разрешить добавление» присвоить False и удалить «лишнюю» запись. Form.AllowAdditions = False Подобное ограничение реализовано в примере. Итак, схема такая:
В прилагаемом примере показана только привязка к номеру винчестера. Однако, если пользователь установит другой и запросит заново пройти регистрацию? А вдруг, он врет, и на самом деле его попросил знакомый, установивший Вашу программу и желающий «на халяву» ей воспользоваться? Поэтому, данная система регистрации не отрицает, а, наоборот, требует наличия всех остальных средств защиты: администрирование, шифрование и MDE-интерфейс. Если, например, при формировании регистрационного номера учитывается много констант (например, имя компьютера, имя пользователя, название процессора и т.д.), то можно регистрационный номер составлять из частей. Например, цифры 1 - 4 - это имя компьютера, 5 - 9 - это номер винчестера и т. д. Можно конечно и более хитро, тут полная свобода творчества. Теперь, если Вам скажут, что поменяли винчестер, проверьте, остались ли прежними имя компьютера, имя пользователя, версия BIOS и т. д. Если все изменилось - стало быть, Вас обманывают (а может и вправду, поменяли все «железо»). Но, как известно, железо не меняют каждую неделю, и единичным случаям можно и поверить. Теперь испытаем:
Пример, как это все работает, Вы можете скачать ниже. |