Comment puis-je sécuriser mon plugin afin que seuls les utilisateurs payants puissent l'utiliser?
Je suis le développement de certains (wordpress) les plugins et j'ai l'intention d'avoir un droit de licence pour celui qui veut l'utiliser.
À cet effet j'ai besoin d'un moyen de faire en sorte que ce plugin n'est pas transféré à un serveur où tout le monde peut le télécharger et l'utiliser gratuitement.
Je pensais donc à l'aide d'une clé API. Clé API valide = utilisateur peut utiliser le plugin. Invalid = plugin ne fonctionne pas.
J'ai regardé ce post PHP API Key Generator mais je n'ai pas beaucoup plus sage.
Je sais aussi que depuis qu'il est en PHP, n'importe qui peut aller dans le code et de désactiver l'API vérifier (je suis juste deviner)
Quelle est la meilleure façon de sécuriser mon plugin? Clé API? D'autres moyens? Quelqu'un aurait un lien pour tout les bons tutoriels sur le sujet?
source d'informationauteur Steven
Vous devez vous connecter pour publier un commentaire.
J'votre plugin s'appuie sur interaction avec votre propre serveur d'une clé API est un excellent moyen de prévenir le non-paiement aux utilisateurs de l'utiliser.
Toutefois, si elle n'a pas besoin d'interagir avec votre serveur, puis quelqu'un wityh un peu de PHP la connaissance peut modifier votre plugin pour supprimer la clé API de vérification.
Un problème majeur ici est la gestion des licences pour votre plugin. WordPress est GPL et la licence GPL a une clause qui exige "œuvres dérivées" pour être aussi sous licence GPL. (C'est un euphémisme: en fait, l'ensemble de la GPL est basée autour de cette clause et ne serait pas vraiment fonctionner sans elle.)
Il y a beaucoup d'argument à savoir si un plugin peut être considéré comme une "œuvre dérivée" de. À mon avis, il n'est pas le cas, et je pense que c'est contraire à l'éthique pour essayer de le forcer à être considérée comme l'une. Cependant Automattic, le core de WordPress devs, et la Fondation pour le Logiciel Libre (l'organisation qui a écrit le GPL) affirment que les plugins WordPress sont légalement tenus d'utiliser la GPL et ne peut pas utiliser une autre licence.
Jusqu'à présent il n'y a eu aucun cas de la cour et il n'y a pas de précédent, mais il ya une grande animosité autour d'un couple de grands plugins WordPress qui n'utilisent pas la GPL, et Automattic a fondamentalement menacé de l'action juridique, tandis que le développeur du plugin a dit "merci de me poursuivre en justice". Pas exactement une jolie situation, et je dirais que, quelle que soit la moralité de la situation, le fait est que la publicité négative normalement l'emportent sur les avantages de approvisionnement d'un plugin.
Pour résumer: votre plugin doit être GPL, ce qui signifie que vous devez fournir non chiffrés code source, n'importe qui peut modifier votre plugin pour supprimer toutes les restrictions que vous ajoutez. Mais il devrait être facile pour vous de parler à la plupart de vos clients potentiels en voulant acheter le plug-in de vous au lieu d'utiliser un fork de la version, vous pouvez offrir des avantages tels que l'assistance, mises à niveau, etc, etc, qui ne sera probablement pas disponible pour un "craqué" version.
Il existe plusieurs entreprises qui ont réussi à vendre des plugins, sous licence GPL et sans protection (clé API, etc). Même si n'importe qui pouvait en théorie il suffit de télécharger le plugin et de les télécharger sur un site public, à partir de laquelle n'importe qui pouvait le télécharger, dans la pratique personne ne veut utiliser une version non officielle qui ne sera pas mis à jour pour les nouvelles versions de WordPress. Donc, la vente des plugins ne semble pas être un modèle d'affaires viable, même sans protection d'aucune sorte.
Bien sûr, tout cela suppose que quelqu'un qui n'est pas juste de la fourche de votre plugin, et effectuer pon maintien de la base de code séparément. Il n'y a pas beaucoup que vous pouvez faire à ce sujet - mais il est peu probable de se produire.
Pour ce que ça vaut, si vous êtes en essayant de rendre la vie difficile pour quelqu'un qui décide de redistribuer votre plugin, vous pouvez envisager les points suivants :
- vous pouvez prétendre à des droits de marque sur le nom de votre plugin, même si le plugin lui-même est open source, donc vous pouvez légalement empêcher de l'utiliser le même nom que vos clients connaissent
- seul le code PHP dans un plugin doit être sous licence GPL - vous pouvez distribuer des fichiers qui ne contiennent pas de PHP qui interagit avec WordPress en vertu d'une licence distincte pour interdire la redistribution. Par exemple, les CSS, le JavaScript et les images n'ont pas à être soumis à la licence GPL.
Un grand article peut être trouvé ici, même si cela ne couvre pas la technique, juste des choses à garder à l'esprit avant de poursuivre la route beaucoup plus loin
http://www.littlehart.net/atthekeyboard/2007/07/20/protecting-your-php-code/
Bien que pour une réponse directe à votre question, l'utilisation d'une clé API système, puis de coder votre PHP en utilisant quelque chose le long des lignes de Zend Guard, de sorte que l'utilisateur ne pouvez pas simplement aller et retirez la clé API de vérifier que le code est codé.
À l'aide d'une clé API est probablement pas un problème. Vous ne pouvez pas vous soucier de personnes piratage de votre plugin, car il va arriver, peu importe ce que vous faites. Quelqu'un avec la connaissance de supprimer votre API de vérification est assez intelligent pour enlever tout type de protection que vous mettez dans votre script. Vous ne pouvez pas vous soucier de ces gens.
À l'aide de produits comme Zend Guard n'est pas une option. Il demande à l'utilisateur final d'avoir Zend Optimizer installé sur leur système, et vous ne pouvez pas garantir que.
Tout cela étant dit, vous ne pouvez pas dissimuler ou autrement cacher votre code source, de toute façon. WordPress est sous licence GPL, et ils interdisent strictement plugins toute autre licence. Alors que vous pouvez vendre le plugin, vous ne pouvez pas cacher le code source.
pour être honnête, je ne pense pas qu'il y est une preuve de balle pour éviter que votre plugin pour obtenir entaché de nullité, regardez WProbot, ils ont une bonne manière de valider les licences, mais il ya encore des centaines de entaché de nullité versions.
aussi longtemps que les gens ont pour télécharger votre code, quelqu'un va obtenir ses mains sur elle et entaché de nullité, ce que vous pouvez faire est d'offrir un fremium version comme s2member et AllinOneSEO pack ne.
Je suis vraiment penser à ces.
Mais C'EST GPL et nous ne cachons pas nos codes.
Je pense, que nous avons à faire plus compliqué à lire la clé de l'api système. Je suis en train de penser à cela. Mais il y a un moyen de trouver ce à supprimer si le reste du système unfortunetly si il est open source. Vous pouvez regarder par exemple ceci:
PHP AES crypter /décrypter