-
Protection ducode source
Bonjour,
Je reviens vers vos lumières humblement après plusieurs années de non code... je sais c'est pas bien...:oops:.
Je viens d'optimiser un vieux code remis au goût du jour en php, du script simple, quelques fonctions, pas de classe, ... bref du code litéral à l'ancienne.
Le CONTEXTE : du fait de son déploiement sur des serveurs mutualisés OVH (la contrainte), ce code si "cher" à mon coeur ne peut pas être "includé" depuis mon serveur car le client ne changera pas d'offre et mutualisé signifie : pas d'includes externes, et ne saurait devenir propriété de mon client, car c'est le résultat qui est "commercialisé" pas le code en tant que tel qui reste ma propriété.
LA QUESTION : j'en ai lu mais pas retenu un qui convienne à ce type de situation, COMMENT encrypter ce code (si clair) afin qu'il s’exécute sans latence, et surtout qu'il s’exécute sans bug afin d'en conserver la propriété,
LE DEBAT : ne concerne pas propriété ou pas mais juste comment déposer des fichiers sur le site d'un client et garantir l'inaccessibilité de l'accès à mes codes sources php ?
OUI c'est open source mais l'algo, le cript, les méthodes... c'est mon savoir-faire.
Merci mille fois de vos lumières et de vos précieux conseils,
Petit micro entrepreneur...
-
Salut,
ben y a vraiment aucune soluce viable. Ton code obfusqué devra être interprété en PHP donc converti à un moment ou un autre en langage PHP clair, et là c'est foutu.
A ma connaissance, je n'ai jamais rencontré un système inviolable. J'ai eu le cas, il y a des années dans une boite où le développeur avant de se carapater avait obfusqué son code, peine perdue, en même pas deux jours tout était en clair.
Donc, à moins d'héberger toi-même la solution...
-
Il existe des solutions comme SourceGuardian ou IonCube mais elle nécessite en générale une extension à installer sur le serveur. Il y'a donc de forte chance que ça ne marche pas sur des serveurs mutualisé.
Il y'a cependant d'autre moyen de protéger ton code.
Le premier qui me vient serait de ne plus fournir ta logique , mais simplement un client vers une API. Ainsi tout la partie sensible (les algos) reste sur tes serveurs. Tes clients inclus juste ton "client API" qui lui va venir chercher les infos sur ton serveur via une requête http (ou autre). Tu conditionnes l'utilisation de l'API à une clé que tu fournis et qui est liée au domaine pour éviter tout abus.
Les avantages :
+ La logique reste ta propriété complète
+ Tu as un contrôle fin sur qui fait quoi.
+ Tu peux à tout moment couper l'accès si un client ne paye pas en désactivant sa clé API.
+ D'autres possibilités de facturation : au mois , à la quantité de requête , etc ...
Les inconvénients :
- Moins performant (un code distant sera toujours plus long qu'un code local)
- Impose de maintenir un serveur tant que tu as un client.