PHP кодирование с помощью удаленного ключа? - PullRequest
2 голосов
/ 24 января 2010

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

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

Есть идеи?

РЕДАКТИРОВАТЬ: Я знаю о Zend и IonCube, я пытаюсь увидеть, есть ли другой, менее дорогой "бесплатный" способ сделать это.

Ответы [ 5 ]

2 голосов
/ 24 января 2010

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

1 голос
/ 24 января 2010

Если вы не перепроектируете шифрование байт-кода, которое делает IONCube или Zend Guard, ваш код где-то будет иметь форму строки "if ($authorized == "mysekritcode")".Вы можете запутать это, но злонамеренный пользователь может просто изменить его на "if (1==1)" и обойти любое запутывание.

Вместо этого, если ваш код может быть разделен на Model / View / Controller, и клиент может бытьпередал только компонент «Просмотр» (и, возможно, модель), а компонент «Контроллер» выступил в качестве веб-службы на вашем сервере, который предоставляет им функциональность, но необходимую безопасность.

0 голосов
/ 24 января 2010

Вы можете сделать что-то подобное в файле, включенном во все остальные:

if (file_get_contents('http://your.domain.com/getKey.php') != 'verySecretCode')
{
    die('pay me');
}

И тогда вам придется кодировать файл с помощью Zend Guard или аналогичного.

Ваш сервер должен быть подключен к сети круглосуточно, в противном случае у вас возникнут проблемы (или вы можете написать более надежную систему). В любом случае, для каждого запроса сервер вашего клиента будет отправлять HTTP-запрос на ваш сервер.


Zend Guard - лучший, но если у вас нет денег, вы можете попробовать bcompiler .

0 голосов
/ 24 января 2010

Посмотрите на что-то вроде кодера IONCube. Работает так, как вы просите - и это не требует вашего собственного решения (его поддержка, хорошая репутация, документация и т. Д.).

IONcube - не единственный ваш выбор. Предложение Zend тоже кое-что.

0 голосов
/ 24 января 2010

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

IonCube - это один продукт, который выполняет это. Zend Guard - это другое. Прежде чем идти по этому пути, я бы посоветовал вам узнать больше о продуктах и ​​решить, стоит ли оно того для вас. На SO есть несколько потоков об использовании кодировщиков PHP, которые полны полезной информации.

...