Подтвердить что ты не робот

Как я могу защитить свой плагин, так что только платные пользователи могут его использовать?

Я разрабатываю некоторые (wordpress) плагины, и я планирую иметь лицензионный сбор для тех, кто хочет его использовать.

Для этого мне нужен способ убедиться, что этот плагин не загружен на сервер, где любой может скачать его и использовать его бесплатно.

Итак, я думал об использовании ключа API. Действительный ключ API = пользователь может использовать плагин. Invalid = плагин не работает.

Я просмотрел этот пост PHP API Key Generator, но я не намного более мудрый.

Я также знаю, что, поскольку это PHP, любой может пойти в код и отключить проверку API (я просто догадываюсь)

Каков наилучший способ защитить мой плагин? API-ключ? Другие способы? Кто-нибудь имеет ссылку на какие-либо хорошие учебные пособия по этому вопросу?

4b9b3361

Ответ 1

I ваш плагин полагается на взаимодействие с вашим собственным сервером. Ключ API - отличный способ предотвратить использование пользователями неплатежей.
Однако, если ему не нужно взаимодействовать с вашим сервером, тогда любой wityh немного знаний PHP может изменить ваш плагин, чтобы удалить проверку ключа API.

Основной проблемой здесь является лицензирование вашего плагина. WordPress - это GPL, а в GPL есть статья, которая требует, чтобы "производные работы" также лицензировались под лицензией GPL. (Это преуменьшение: на самом деле, весь GPL основан на этой статье и на самом деле не будет работать без него.)
Существует много аргументов в отношении того, можно ли рассматривать плагин как "производную работу". По-моему, это не так, и я думаю, что неэтично пытаться заставить его рассматриваться как одно. Однако Automattic, основной разработчик WordPress, и Free Software Foundation (организация, которая написала GPL) утверждают, что плагины WordPress юридически связаны с GPL и не могут использовать другую лицензию.
До сих пор не было никаких судебных дел, поэтому прецедентов нет, но существует немалая враждебность, окружающая пару основных плагинов WordPress, которые не используют GPL, и Automattic в основном угрожает юридическим действием, в то время как разработчик плагина сказал "пожалуйста подай в суд на меня". Не совсем красивая ситуация, и я бы сказал, что независимо от морали ситуации факт заключается в том, что негативная реклама обычно перевешивает преимущества закрытого доступа к плагину.

Подводя итог: ваш плагин в основном должен быть GPL, а это значит, что вы должны предоставить незашифрованный исходный код, поэтому каждый может изменить ваш плагин, чтобы удалить любые ограничения, которые вы добавляете. Но вам должно быть легко поговорить с большинством ваших потенциальных клиентов о желании купить плагин у вас вместо использования раздвоенной версии - вы можете предложить такие преимущества, как поддержка, обновления и т.д. И т.д., Которые, вероятно, не будут доступны для "взломанная" версия.

Есть несколько компаний, которые успешно продают плагины под GPL и без защиты (ключ API и т.д.). Даже если кто-то может теоретически просто загрузить плагин и загрузить его на общедоступный сайт, из которого любой может его загрузить, на практике никто не хочет использовать неофициальную версию, которая не будет обновляться для новых версий WordPress. Таким образом, продажа плагинов кажется жизнеспособной бизнес-моделью даже без защиты.

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

Для чего стоит, если вы пытаетесь сделать жизнь трудной для тех, кто решает перераспределить ваш плагин, вам может понравиться следующее:
- вы все равно можете заявлять права на товарный знак на имя своего плагина, даже если сам плагин является открытым исходным кодом, поэтому вы можете юридически запретить им использовать то же имя, которое знают ваши клиенты.
- только PHP-код в плагине должен быть GPL'ом - вы можете распространять любые файлы, которые не содержат PHP, который взаимодействует с WordPress по отдельной лицензии, чтобы запретить перераспределение. Например, CSS, JavaScript и изображения не должны находиться под GPL.

Ответ 2

Здесь можно найти отличную статью, хотя это не охватывает технику, которая просто имеет значение, прежде чем продолжить маршрут намного дальше http://www.littlehart.net/atthekeyboard/2007/07/20/protecting-your-php-code/

Хотя для более прямого ответа на ваш вопрос используйте ключевую систему API, а затем закодируйте свой PHP, используя что-то в строках Zend Guard, поэтому пользователь не может просто войти и удалить проверку ключа API в качестве кода кодируется.

Ответ 3

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

Использование таких продуктов, как Zend Guard, не является вариантом. Это требует, чтобы конечный пользователь установил Zend Optimizer в свою систему, и вы не можете этого гарантировать.

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

Ответ 4

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

до тех пор, пока люди загружают ваш код, кто-то достанет его руки и обманул его, что вы можете сделать, это предложить версию fremium, такую ​​как s2member и пакет AllinOneSEO.

Ответ 5

Я действительно об этом думаю. Но это GPL, и мы не можем скрывать наши коды. Я думаю, нам нужно усложнить работу с системой api key. Я собираюсь сделать это. Но есть способ взломать это с удалением, если иначе система неудовлетворительно, если он с открытым исходным кодом. Вы можете посмотреть, например, следующее: PHP AES encrypt/decrypt