77 votes

Meilleure solution pour protéger le code PHP sans cryptage

Tout d'abord, je ne cherche pas de miracle... Je sais comment fonctionne PHP et qu'il n'y a pas vraiment de moyen de cacher mon code aux clients sans utiliser le cryptage. Mais cela a un coût, celui d'une extension à installer sur le serveur en fonctionnement.

Je cherche quelque chose de différent cependant... Je ne cherche pas à crypter mon code ou même à l'obscurcir. Il existe de nombreux scripts PHP sans code crypté/obfusqué mais ce sont des applications commerciales. Par exemple, les applications de forum vBulletin et/ou IP.Board.

Je veux juste savoir quelle approche ces gars utilisent pour leurs applications...

Je suis également ouvert à toute autre suggestion.

Veuillez noter que je suis une personne seule et que je ne travaille pas pour une entreprise. Mon produit est également très spécifique, il ne se vendra pas beaucoup. Je veux juste que vous sachiez que je n'ai pas les moyens de consulter un professionnel du droit, que ce soit pour poursuivre quelqu'un en justice ou pour préparer une licence commerciale. Je cherche juste un moyen simple de protéger mon produit simple, si c'est possible, d'une manière ou d'une autre...

36voto

Bill Karwin Points 204877

L'obscurcissement des choses ne peut que gêner vos clients légitimes et respectueux de la loi, tandis que les personnes qui vous arnaqueraient ne sont de toute façon pas vos clients payants cibles. (j'ai supprimé d'autres réflexions sur l'obscurcissement)

Une autre suggestion pour protéger vos logiciels : créez un modèle commercial dans lequel le code est une partie incomplète de la valeur de votre offre. Par exemple, vendez des licences de produit avec l'accès à certaines données que vous gérez sur votre site, ou accordez une licence pour le produit sur un modèle d'abonnement ou avec un support client.

La conception d'un CLUF est une question juridique, pas une question de codage. Vous pouvez commencer par lire le texte des CLUF des produits et des sites Web que vous utilisez. Vous pourriez y trouver des détails intéressants !

La création d'une licence propriétaire est très souple et constitue probablement un sujet qui dépasse le cadre de StackOverflow, puisqu'il ne s'agit pas strictement de codage.

Quelques parties d'un CLUF qui me viennent à l'esprit :

  • Limiter votre responsabilité si le produit présente des bogues ou cause des dommages.
  • Expliquer comment le client peut utiliser son logiciel sous licence, pendant combien de temps, sur combien de machines, avec ou sans droits de redistribution, etc.
  • Vous donner le droit d'auditer leur site, afin que vous puissiez faire respecter les licences.
  • Que se passe-t-il s'ils violent le CLUF, par exemple s'ils perdent leur privilège d'utiliser votre logiciel.

Vous devez consulter un professionnel du droit pour préparer un CLUF commercial.

éditer : Si ce projet ne peut pas justifier les frais d'un avocat, consultez ces ressources :

16voto

Jim OHalloran Points 4034

Vous devez tenir compte de vos objectifs :

1) Essayez-vous d'empêcher les gens de lire/modifier votre code ? Si oui, vous aurez besoin d'un outil d'obfuscation/de cryptage. J'ai utilisé Zend Guard avec un bon succès.

2) Essayez-vous d'empêcher la redistribution non autorisée de votre code ? Un CLUF/une licence propriétaire vous donnera le pouvoir légal d'empêcher cela, mais ne l'empêchera pas réellement. Un schéma clé/activation vous permettra de surveiller activement l'utilisation, mais peut être supprimé à moins que vous ne chiffriez également votre code. Zend Guard a également des capacités pour verrouiller un script particulier à une machine client particulière et/ou créer des versions limitées dans le temps du code si c'est ce que vous voulez faire.

Je ne suis pas familier avec vBulletin et autres, mais ils devraient soit crypter/obfusquer, soit faire confiance à leurs utilisateurs pour faire ce qu'il faut. Dans ce dernier cas, ils disposent de la protection d'un CLUF qui interdit les comportements qu'ils jugent indésirables, et du système juridique pour soutenir les violations du CLUF.

Si vous n'êtes pas prêt/en mesure de prendre des mesures juridiques pour protéger votre logiciel et que vous ne voulez pas le crypter/obfusquer, vos options sont les suivantes : a) le publier avec un CLUF afin d'avoir une option juridique si vous en avez besoin et espérer le meilleur, ou b) envisager qu'une licence open source soit plus appropriée et autoriser simplement la redistribution.

8voto

grepsedawk Points 3413

Vous pouvez utiliser un compilateur php :

Roadsend

phc

6voto

Alarion Points 182

Je n'ai pas regardé le code source de VBulletin depuis un certain temps, mais la façon dont ils avaient l'habitude de le faire vers 2003 était d'intégrer un appel à leur serveur à l'intérieur du code. IIRC, il était sur une très longue ligne de code (comme 200-300+ chars de long) et a été brisé sur plusieurs concaténations de chaînes et autres.

Il n'y avait rien de "mauvais" si vous le piratiez - le forum fonctionnait toujours à 100%. Mais l'adresse IP de votre serveur a été enregistrée avec d'autres informations, ce qui leur a permis d'enquêter et de prendre des mesures juridiques.

Votre numéro de licence était intégré à cet appel, ce qui leur permettait de savoir facilement sur combien d'IP/sites Web une copie sous licence donnée était exécutée.

1voto

Eran Galperin Points 49594

Ils distribuent leurs logiciels sous un licence propriétaire . La loi protège leurs droits et empêche leurs clients de redistribuer la source, bien qu'il n'y ait aucune difficulté réelle à le faire.

Mais comme vous le savez peut-être, la violation des droits d'auteur (piratage) des produits logiciels est une phénomène assez courant .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X