DevelNext — Активация программы через сервер с привязкой к железу

Программа передаёт ключ и id железа, на их основе сервер генерирует уникальный файл лицензии для каждого ПК. В последующие запуски активация через Интернет не требуется, т.к. данные об активации хранятся в лицензионном файле. В демо я сделал id железа = хэш sha-1 от uuid и id мат.платы, поэтому никакие личные данные никуда не утекут. Можно не вешать ssl на сервер, вряд ли что-то можно будет сделать, даже перехватив данные.

Описание алгоритма

Серверная часть

Скачать "DevelNext Activation Server" Загрузок: 285

Клиент

Скачать "DevelNext Actvation Client" Загрузок: 281

Инструкция по установке

1. Установка на сервер
1.1 Скачать и распаковать скрипты для сервера
1.2 Создать базу данных SQL, сделать импорт файла dn.sql
1.3 Отредактировать файл config.php: указать логин/пароль для авторизации, параметры для подключения к MySQL, придумать секретный ключ, которым будет подписываться файл лицензии, его нужно будет прописать в программе-клиенте (далее).

2. Конфигурация клиента
2.1 Скачиваем проект с программой клиентом, открываем модуль Activation

2.2 В модуле указываем секретный ключ (такой же, как в конфигурации сервера из п.1.3), URL сервера, где установлен скрипт авторизации.
2.3 Для работы к проекту необходимо подключить пакет Windows
2.4 Обязательно отметьте галочку компилировать в байт-код, иначе смысла от такой активации не будет

Активация демо проекта настроена на этот сервер

Админка демо проекта

Добавить комментарий

Ваш e-mail не будет опубликован.

  1. DraonKHacks:

    Что такое ‘Авторизационные данные’ в config.php к чему они?

  2. Аноним:

    При заходе на сайт вылазит это:
    ‘Новый ключ добавлен!’, ‘keyDeleted’ => ‘Ключ удалён’, ‘keyEdited’ => ‘Ключ изменён’, ]; if(isset($messages[$_GET[‘message’]])){ ?>
    Как исправить?

  3. RenX:

    Система очень уязвима. Смотри…. когда из базы удалить ключ и отмотать время на компе (клиенте) , то можно пользоваться программой сколько захочешь (отматывая время) при условии что нет ключа. И просто без удаления ключа из базы данных, можно отмотать время назад и юзать прогу сколько угодно. Т.к программа обращается к серверу когда лицензия закончится( а время она берет не из сервера а из компа-клиента).
    Т.е в базе данных время истекло, а на компе-клиенте нет, и юзай прогу сколько влезет отматывая время.

  4. Аноним:

    При нажатии на «Получить лицензию» выдаёт ошибку Fatal error: Uncaught Error: Cannot call ‘getTime’ method of non-object in res://app/modules/Activation.php on line 57, position 105

  5. Аноним:

    Parse error: syntax error, unexpected ‘[‘ in /var/www/u0314106/data/www/mushroomeater.pw/license/index.php on line 18

  6. Аноним:

    Спасибо, отличный исходник, пригодится!