PHP - защитный код
Возможные дубликаты:
Как защитить свой программный код?
Защитите мое приложение PHP
Привет, у меня есть структура, для которой я хочу продавать лицензии. Я хочу, чтобы люди могли редактировать код, если они захотят (в определенной степени), но я также хочу попытаться остановить кого-то, платящего за код, а затем просто выложить его для загрузки.
Есть ли способ, которым я могу хранить часть кода (небольшой фрагмент кода) на сервере, который должен будет подключаться каждый сайт, использующий мою платформу?
любая помощь или идеи высоко ценится.
3 ответа
Вы можете... Но вы хотите?
PHP-скрипты не являются сервлетами Java. Они не всегда бегут; они начинаются, когда запрос начинается, и заканчиваются, когда запрос останавливается.
Итак, какую функциональность вы бы назвали, которая требует звонка домой? Это не должно быть на каждой странице, потому что это значительно замедлит работу как клиентского приложения, так и ваших серверов. Если у вас есть какая-то редко используемая страница (например, страница конфигурации), вы можете перенести некоторые ее функции на свой сервер. Но даже в этом случае учтите, что ваш клиент может не захотеть запускать код, который зависит от вашего сервера - вы не сможете гарантировать, что он всегда в сети; клиент может иметь свой сервер за брандмауэром, который не разрешает исходящие соединения и т. д.
Это проблема скриптовых языков. Вы не можете защитить код так, чтобы пользователь его не увидел. Однако, если вы планируете предоставить лицензию, а клиент должен ее купить, я думаю, это лучший способ. Если он загрузит код для загрузки другими пользователями, вы можете обратиться к своему адвокату.
То, как вы упомянули, что каждый должен подключиться к вашему серверу, также является решением. Но поэтому я не буду хранить фреймворк на вашем сервере, а дам клиенту фреймворк и разрешу ему зарегистрировать этот фреймворк для одного домена, например. Затем платформа подключается к вашему серверу и проверяет, был ли он вызван, из правильного домена.
Извините, мой английский это не так хорошо, чтобы выразить себя так хорошо, но я надеюсь, что вы поняли:)
Zend Guard кажется стандартом де-факто. Тем не менее, быстрый поиск в Google показал пару других:
В конечном счете, все это в конечном итоге выводит из себя людей, которым приходится вносить изменения в свой сервер для запуска сценария. Как тот, кто использовал и выпускал сценарии с этим типом шифрования, я советую вам не беспокоиться, потому что кто-то (при достаточном количестве времени) все равно расшифрует его.