Я разработал систему управления информацией для компании, в которой я работаю.
Теперь я хотел бы создать систему лицензирования, чтобы помочь кому-то просто взять копию и настроить ее на своем собственном домашнем сервере и использовать ее в любых целях.
Я знаю, что, пожалуй, самый простой способ сделать это – включить ссылку на ключ, хранящийся в удаленном файле на каждой странице системы, или что-то в этом роде, но я думаю, что с этим можно легко обойтись.
Каков наилучший способ защитить мою работу?
С точки зрения безопасности, общий консенсус заключается в том, что вы не можете гарантировать, что он не будет украден, поэтому вам придется взвесить, насколько сложно вы хотите сделать это для злоумышленника. Мы обсудили это на битве Security Stack Exchange.
Посмотрите на этот вопрос , и все вопросы там помечены drm .
В PHP это сложно сделать, поскольку источник открыт для всех, но вы можете сделать что-то подобное, чтобы изменить индекс, чтобы захватить имя или IP-адрес сервера и проверить его в своей базе данных, если вы позволили ему вернуть процесс в порядке и все отлично работает, иначе вы отправите самоинструктивную команду индексу, и индекс удалит все файлы и папки, начиная с его каталога, вы можете найти здесь команду, вы можете удалить аргумент maxdepth для рекурсивного удаления всех файлов и папки, и имейте в виду, что нет идеального решения для вашей проблемы, поскольку другая сторона может легко изменить исходный код индекса.
лучший способ – создать ключ на основе аппаратных значений машины. поэтому возьмите количество RAM, тип процессора, скорость, MAC-адрес, версию BIOS и т. д. После того, как все эти значения используют их для генерации хэша. У каждого пользователя также должен быть уникальный идентификатор для их покупки. Когда программное обеспечение впервые используется, оно должно отправить идентификатор пользователя и хэш на ваш сервер. Каждый раз, когда программное обеспечение запускается (и в разное время при его запуске), программное обеспечение должно отправлять оба этих идентификатора на сервер. Если хеш не совпадает с хешем, который соответствует идентификатору пользователя, тогда доступ к программному обеспечению отклоняется. Если пользователь меняет свое оборудование или хочет установить его на другой компьютер, он должен иметь возможность отправить запрос на сброс своего хэша. Также убедитесь, что вы используете SSL для связи с лицензированием и, если это возможно, обфускаете свой код. вы также можете добавить имя домена, с которым выполняется сценарий, в данные, используемые для хэша, если вы хотите заблокировать его в домене
Если вы не можете гарантировать, что файлы .php будут украдены, тогда ваш лучший выбор – запутывание источника – поэтому он становится нечитаемым и очень трудно конвертировать в обычный код. Я не рекламирую здесь, просто знаю, что Ioncube хорошо справляется с этой задачей.
Я также предлагаю вам использовать несколько методов – скажем, как файл лицензирования, так и обфускацию – было бы труднее сломать.
См. Также этот ответ.
Разработка собственной системы лицензирования может показаться более сложной и сложной задачей, чем кажется с первого взгляда. Лучше использовать решения, которые уже присутствуют на рынке, чтобы сэкономить много времени и денег.
Проверьте http://activation-cloud.com, если ваш продукт работает под Windows (Linux скоро появится) и написан на C ++.
Он отлично подходит для защиты от копирования (хранит идентификаторы компьютеров на сервере). На данный момент мы работаем над надежной защитой от взлома.
Вы можете перейти в систему лицензирования WordPress, общую версию PHP и лицензию на программное обеспечение
с http://www.phplicengine.com вы можете лицензировать свой код удаленно или локально, затем обфускать исходный код с помощью http://www.ioncube.com