web-dev-qa-db-fra.com

Est-il possible de cacher / encoder / chiffrer le code source php et laisser les autres avoir le système?

Est-il possible de cacher/encoder/chiffrer le fichier php/code source, et laisser les autres faire installer et exécuter le système sur leur ordinateur?

50
Newbie

Oui, vous pouvez certainement masquer/encoder/chiffrer le code source php et les autres utilisateurs peuvent l'installer sur leur ordinateur. Vous pouvez utiliser les outils ci-dessous pour atteindre le même objectif.

Mais ces "autres" peuvent également décoder/décrypter le code source en utilisant d'autres outils et services disponibles en ligne. Si vous ne pouvez pas protéger votre code à 100%, vous pouvez le rendre plus difficile pour l'ingénierie inverse de votre code.

La plupart des outils ci-dessus prennent en charge l'encodage et la dissimulation.

  • Le codage masquera votre code en le cryptant.
  • L'obscurcissement rendra votre code difficile à comprendre.

Vous pouvez choisir d’utiliser les deux méthodes (codage et masquage) ou l’un ou l’autre, selon vos besoins.

49
Rohit Chemburkar

Il y a plusieurs façons de le faire (vous pouvez vouloir obscurcir le code source, vous pouvez le compresser, ...). Certaines de ces méthodes nécessitent du code supplémentaire pour transformer votre programme en un fichier exécutable (compression, par exemple).

Mais la chose que toutes les méthodes ne peuvent pas faire, est de garder le code source secret. L'autre partie récupère votre code binaire, qui peut toujours être transformé (ingénierie inverse) en un format lisible par l'homme, car le code binaire contient toutes les informations de fonctionnalité fournies dans votre code source.

14
Abrixas2

Il existe des produits commerciaux tels que ionCube (que j'utilise), gardien de la source , et Zen Guard .

Il existe également des publications sur le réseau qui prétendent pouvoir procéder au reverse engineering des programmes codés. Leur fiabilité est discutable, car je ne les ai jamais utilisées.

Notez que la plupart de ces solutions nécessitent l'installation d'un encodeur sur leurs serveurs. Vous voudrez peut-être vous assurer que votre client est à l'aise avec cela.

5
Sutandiono

Vous pouvez simplement diviser le frontend et le backend. Le client est hébergé sur le serveur du client avec une API qui appelle le serveur sur votre serveur. Cela conserve la totalité du code propriétaire et force les utilisateurs à s'inscrire/payer pour les abonnements.

3
John Proestakes