2011-07-24 2 views
10

J'ai créé un plugin pour WordPress même si je voudrais le crypter pour empêcher les gens de voir le code source. J'ai entendu parler de Zend Guard et d'IonCube, mais y a-t-il une alternative gratuite? Merci pour l'aide. :)Comment crypter un fichier PHP gratuitement?

+5

Pourquoi? De quoi as-tu peur? – SLaks

+4

ne pas, embrasser l'open source. –

+3

Je suis tout pour l'open source aussi, mais si l'OP veut crypter le code alors je suppose que nous devrons faire ce que nous pouvons pour aider =) –

Répondre

6

On dirait que les choses que vous choisissez ne fonctionnent pas de cette façon:

  • Wordpress est open source
  • PHP est compilée
  • tout obscurcissement peuvent être décodés

Si vous ne ne veulent pas partager la source, fournir le code comme service. Vous pouvez demander à l'utilisateur d'entrer la clé API, etc.


  • Exécutez le code sur votre serveur et envoyer une réponse (par exemple JSON ou XML) à la partie Wordpress.
  • Autoriser uniquement les utilisateurs qui ont payé pour le service d'accéder au service sur votre serveur
  • Authentifier les utilisateurs en vendant puis vérifier l'API clé

Voir: SaaS

+0

Ooh, qu'entendez-vous par clé API? Ce serait génial s'ils devaient entrer une clé pour l'utiliser, ce qui est la raison du chiffrement du code de toute façon. –

+1

@Joey Voir l'édition – takeshin

2

Ce que vous cherchez est un obfuscator pour php. Ce message peut être un doublon à: Is there a code obfuscator for PHP?

Cependant, certains mots. Les contributions au monde opensource, comme la contribution d'un plugin wordpress, peuvent vous aider davantage pendant que les gens peuvent lire votre code.

+0

Non. Le cryptage de la source n'est pas obscurcissant - c'est beaucoup mieux. Tous les noms de fonctions, de classes et de variables ne changent pas, mais le code source n'est pas disponible. –

1

Depuis PHP n'est pas compilé. Ioncube et Zend Guard sont vos seules options. Vos utilisateurs devront également installer les chargeurs pour ces addons afin d'utiliser votre code. Ce qui peut ne pas être possible dans de nombreuses situations d'hébergement.

Comme ces plugins sont conçus pour crypter des applications complètes, ils peuvent ne pas fonctionner avec les plugins.

2

Je ne connaître votre code plugin spécifique (et évidemment vous ne voulez pas me le faire savoir), mais gardez à l'esprit si vous réutilisez des parties de la base de code wordpress dans votre plugin, vous devez distribuer votre code sous une licence compatible. Cela signifie compatible avec GPL v2 pour la version actuelle.

Toutefois, cette licence GPL exige que vous fournissiez du code source, ce qui signifie spécifiquement non-obscurci et non-crypté. Le code source est la forme d'un logiciel que vous utilisez pour apporter des modifications. Donc, dans votre cas, le cryptage du code de votre plugin et sa distribution pourraient entraîner la fin des droits d'utilisation sur le code wordpress pour vous. Cela inclut le droit de créer des dérivés (votre plugin) et de distribuer de tels dérivés (envoi de votre plugin à quelqu'un d'autre). Naturellement, ceux qui obtiendront ce plugin n'ont pas de licence pour utiliser votre dérivé. Ce n'est pas vraiment une situation idéale si vous me le demandez, surtout qu'une fois la suppression des droits en vigueur, vous devez entrer en contact avec tous les détenteurs de copyright du paquet wordpress et demander le rétablissement des droits, quelque chose que vous sera à peine capable de.

Faites donc attention si vous réutilisez du code existant ou créez des dérivés pour lesquels vous répondez aux exigences de licence. Surtout s'il s'agit de vos droits. IANAL et je ne peux que suggérer qu'à côté de la partie technique comme l'obfuscation/cryptage, il y a aussi la partie de la licence de logiciel qui peut jouer un rôle. Vous devriez juste contacter un avocat et clarifier cette situation de licence de logiciel pas que vos clients exigent un jour des choses de vous, vous n'avez jamais pensé à vous devez traiter avec. En fin de compte, vous aurez un contrat avec vos clients, alors faites attention.

3

Essayez celui-ci: PHP Encoder

Cela pourrait être la réponse que vous recherchez.

+0

Une façon consiste à créer une fonction qui peut nécessiter une clé pour effectuer un cryptage ou un décryptage. PHP a ses fonctions intégrées comme 'gzdeflate()' ou 'gzinflate()', une autre utilise 'base64_encode()'/'base64_decode()' et 'str_rot13()' ou 'hash()' et 'md5 () 'fonctions. – MyXEDNotes

+2

Est-ce que 'md5' n'est pas une fonction non réversible? Comment pourriez-vous obscurcir le code avec? '$ x = 'quelque chose'; $ h = md5 ($ x); 'si vous ne connaissez que' $ h', comment voulez-vous revenir à '$ x'? –

+3

@MyXEDNotes Le site web n'est plus disponible. – SaidbakR