Как вы можете заставить приложение PHP требовать ключ для работы? - PullRequest
1 голос
/ 11 сентября 2009

Около 4 лет назад я использовал php-продукт под названием amember pro, это скрипт членства, в котором есть плагины для 30 различных платежных процессоров, это был простой способ настроить автоматический членский сайт, где пользователи будут платить платеж и получить доступ к определенной области.

Сценарий использовал ioncube http://www.ioncube.com/sa_encoder.php, чтобы запретить использование сценария неоплачиваемым пользователям. Он потребовал, чтобы вы зарегистрировали домен, на котором будет использоваться сценарий, после чего вам дали ключ для входа в файл. это заставит систему / скрипт работать.

Теперь я хочу знать, как выполнить такую ​​задачу, я знаю, что кодировщик ioncube просто затрудняет просмотр кода, в упомянутом мною сценарии у них просто будет небольшой раздел на уровне 1 из включенного страницы, которые были зашифрованы и без этой части кода, могут сломаться, и, кроме того, если владелец сценария не внесет ваш домен в список и не даст вам действительный ключ, он не будет работать, даже если вы попытаетесь использовать сценарий на другом домене это не будет работать.

Я понимаю, что где-то в зашифрованном коде, который должен был послать вам ключ на этот сервер и проверить, что он действителен для доменного имени, на котором он находится, или, возможно, он даже не сделал этого, возможно, ключ просто подтвердит что он соответствует домену, на котором был написан скрипт, что более вероятно, что он сделал.

Вот где настоящий вопрос: как бы вы сделали для скрипта ту часть, которая зашифрована? Если бы я создал скрипт и имел небольшую зашифрованную часть наверху, казалось бы, пользователь сможет легко удалить зашифрованную часть и выяснить, что делает не зашифрованная часть, и исправить ее на работу. Есть идеи?

Ответы [ 3 ]

2 голосов
/ 11 сентября 2009

лихорадка имеет аналогичную модель, вы регистрируетесь, загружаете программное обеспечение (также PHP), затем получаете ключ активации. Вы можете увидеть, как это работает в демонстрационном видео (ближе к концу).

Если вы отдаете исходный код, вы не сможете помешать кому-то, обладающему знаниями в области программирования, исправлять любые средства защиты от копирования, которые вы используете.

Одна вещь, о которой я могу подумать, это распространение скомпилированной программы C / C ++ или расширения, к которому приложение PHP обращается для проверки лицензии. Эта скомпилированная часть может затем позвонить домой и т. Д. Даже это может быть легко обойдено.

Вы можете увидеть некоторые другие идеи в этих похожих вопросах:

По сути, если вы отдаете код, вы участвуете в гонке вооружений, предоставляя все более сложную защиту от копирования, которая всегда может быть нарушена. Вы должны решить, сколько усилий стоит. Лично я бы не стал вкладывать много сил.

1 голос
/ 11 сентября 2009

Я видел, как это делалось несколькими способами. Практически любой программный метод, о котором вы думаете, можно обойти, если кто-то достаточно заинтересован, чтобы работать над ним. Мы используем ioncube для шифрования наших не размещенных продуктов и резервного копирования с помощью аппаратного USB-ключа. Это может быть взломано? Да. Но люди в основном честны. Я думаю, что нужно заставить людей платить за сценарий - заставить его взломать и выпускать частые обновления с новыми функциями, которые люди не захотят ждать. Если ваша цена не слишком высока, люди просто решат заплатить за нее вместо взлома.

1 голос
/ 11 сентября 2009

Не идеальный способ сделать это, однако вы можете использовать кодировщик, чтобы скрыть код и заставить его вызвать страницу на вашем сервере, которая возвращает значение, которое трудно подделать. Это будет интенсивно работать на сервере, но может делать то, что вы хотите. Вы хотели бы сделать что-то, где время было занято. Обновление кода так часто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...