Провели некоторое исследование и нашли некоторые вещи, которые могут быть полезны.Мне бы хотелось узнать ваше мнение о моих подходах к этому.
ЦЕЛЬ
Я разработаю приложение на PHP (это единственный язык, который я знаю, и, к сожалению, у меня нет времени изучать другойодин прямо сейчас).Я хочу, чтобы это приложение могло работать в автономном режиме и локально на любом компьютере.Для этого я буду использовать сервер Wamp и инфраструктуру cakePHP.
ПРОБЛЕМА
Это приложение будет продаваться.Поэтому мне понадобится метод активации, чтобы предотвратить использование каждого приложения на нескольких компьютерах.Я не хочу чего-то сложного или очень очень безопасного.Мне просто нужно что-то простое, чтобы запретить непрограммистам запускать это приложение на любом компьютере.Конечно, чем безопаснее, тем лучше!:)
ВОЗМОЖНЫЕ РЕШЕНИЯ, КОТОРЫЕ Я ДУМАЮ
Прежде всего, я хочу заставить пользователей активировать свое приложение, выйдя в сеть во время установки.Таким образом, они могли получить уникальный KEY из моей онлайн-базы данных.
Я нашел команду php shell_exec.Таким образом, я думаю, во время онлайн-установки, чтобы получить идентификатор хоста (ID компьютера) этого компьютера, отправить его на мой сервер и сохранить его в моей базе данных рядом с уникальным ключом.Затем идентификатор машины и уникальный ключ могут быть сохранены в файл php.(Могу ли я сохранить его где-нибудь в более безопасном месте? Может быть, зашифровать его?)
Каждый раз, когда пользователь открывает приложение, php будет читать идентификатор компьютера.Если не совпадает с тем, что хранится в файле php, потребуется активация.(Может быть, тоже можно хранить имя компьютера или какой-нибудь другой идентификатор?)
Это хороший подход?Возможно ли это?
Еще один подход, о котором я думаю, - это попросить парня создать установочный файл без php.При запуске выдаст запрос на установку wamp, а после завершения перенесет все необходимые файлы в корневую папку wamp (автоматизация для пользователя).Я могу только догадываться, хотя это сработает, поскольку мои знания по другим языкам ограничены ...
Могу ли я извлечь выгоду из этого в терминах проверки?Может ли не php-файл взаимодействовать с моим php-приложением и проверять его только для одного уникального компьютера?
Любая информация будет оценена по достоинству.Я только начал создавать приложение и хочу узнать, есть ли хороший (или не очень) способ его защитить.
Спасибо!