LHyperText Preprocessor, plus connu sous son sigle PHP (acronyme récursif), est un langage de programmation libre, principalement utilisé pour produire des pages Web dynamiques, mais pouvant également fonctionner comme n’importe quel langage interprété de façon locale. De nombreuses applications à l’instar de Facebook, Wikipédia sont conçues avec ce langage par des nombreux Développeurs. Cependant, la protection de propriété intellectuelle contre l’utilisation, la copie et les modifications indésirables est un gros problème. Dans cet article, nous allons aborder un problème auquel un grand nombre de développeurs est confronté : « L’encodage des codes sources d’une application PHP » et partager avec vous quelques solutions de protections.

Au cours des dernières années, PHP est devenue un des langages web les plus rependue dans le monde entier

Ses principaux atouts sont :

  • Une grande communauté de développeurs partageant des centaines de milliers d’exemples de script PHP ;
  • La gratuité et la disponibilité du code source (PHP est distribué sous licence GNU GPL) ;
  • La simplicité d’écriture de scripts ;
  • La possibilité d’inclure le script PHP au sein d’une page HTML (contrairement aux scripts CGi, pour lesquels il faut écrire des lignes de code pour afficher chaque ligne en langage HTML) ;
  • La simplicité d’interfaçage avec des bases de données (de nombreux SGBD sont supportés, mais le plus utilisé avec ce langage est MySQL, SGBD gratuit disponible sur de nombreuses plateformes : UnixLinuxWindows, MacOs X, Solaris, etc…) ;
  • L’intégration au sein de nombreux serveurs web (Apache, Microsoft IIS, etc.).

Cependant, l’un des problèmes majeurs auquel les développeurs PHP font face est le manque de solutions de haute qualité voire open source pour protéger leurs applications web. Il existe différents points de vue sur le fait ou non de protéger son code. Bien qu’un CLUF (Contrat de Licence Utilisateur Final) ou une licence propriétaire fournit une protection légale, cela n’empêche pas réellement l’utilisation non autorisée de copies d’un produit logiciel ou de s’assurer qu’un client ne fasse de mise à jour sans autorisations.

Pour y répondre, des techniques de protections existent. A vous de savoir s’il faut les utiliser et comment les utiliser.

Les techniques de protection d’une application PHP

Il existe plusieurs techniques de protection que sont :

  • La minification : qui consiste à supprimer les parties de votre code source qui ne sont pas indispensables telles que des commentaires, des espaces et sauts de ligne.
  • L’obfuscation : Technique qui consiste à transformer votre script PHP original en une version équivalente mais illisible, plus complexe, confuse pour l’être humain. Cette technique est utilisée pour brouiller le code source lors de la compilation de votre application.
  • L’encodage/ le cryptage : Méthode célèbre qui consiste à compiler votre script et de stocker le résultat compilé dans des fichiers qui vont remplacer les fichiers sources d’origine de PHP. Cette méthode résiste à un désassemblage direct et ne ralentit pas le programme car le décryptage ne s’effectue que durant le lancement de l’exécutable.
  • L’exécution de code distant : Il permet de ne livrer aux clients qu’une partie de l’application, les portions sensibles sont conservées sur un serveur distant protégé sur lequel elles s’exécutent.

Quelques Solutions de protection d’une application PHP

Plusieurs solutions s’offrent à vous. L’une des mesures d’empêcher votre code source d’être lu est d’utiliser la minification. Cependant, il est facile pour un Développeur chevronné de décoder votre script PHP minifié et de voir le script original.

L’autre solution qui peut aider ici serait l’obfuscation. Cependant, l’utilisation d’obfuscateurs (outils permettant de brouiller le code) ne garantit pas une sécurité totale de votre code. Toutefois, cela vous permet d’avoir une forte protection que vous n‘avez pas en natif.

Une autre mesure qui peut aider serait, lors de la mise en production de l’application chez un client, de le verrouiller sur le site server du client afin d’empêcher sa redistribution. L’application devra en outre inclure des fonctionnalités pour vérifier les critères de verrouillage avant d’effectuer des actions.

Notons qu’il existe aussi des solutions commerciales dont :

Zend Guard : produit d’encodage et d’obfuscation PHP, il a été développé par Zend Technologies Ltd. Il est le plus rependu sur le marché. Ce dernier va protéger votre application contre les utilisations non autorisées, la violation des droits d’auteur et l’ingénierie inverse à tout moment pendant le processus de développement. Plus important encore c’est qu’il permet au code d’être codé avant sa distribution ou sa publication.

Source Guardian : logiciel de chiffrement pour PHP, il a été développé par SourceGuardian. Il vous permet de crypter vos fichiers PHP rapidement et en toute sécurité.

Nu-Coder : qui a été développée par nuSphère. Cet outil permet aux développeurs de protéger leur code contre les altérations et les copies non autorisées ainsi que la flexibilité de gérer la distribution de applications PHP.

Chacun de ces encodeurs PHP commerciaux peut être acheté dans les sites respectifs des fournisseurs.

Conclusion

De nos jours, la protection des scripts PHP contre l’utilisation, la copie et les modifications indésirables est de plus en plus problématique. Des solutions gratuites existent à l’instar des obfuscateurs. Cependant, ces derniers ne fournissent aucune protection sérieuse, efficace et satisfaisante pour palier à cela. Des solutions plus sécurisées mais commerciales répondraient au mieux à vos besoins si vous rechercher des solutions tout-en-un.

Vous avez des questions sur la protection de votre code source PHP, contactez-nous à l’adresse suivante contact@uni2growcameroun.com.

 

2 réponses pour “Application PHP : Protection du code source”

    • Bonjour je ne suis pas sure de vous comprendre! Est ce que cela se produit à la suite d’une action faite sur votre clavier par exemple?
      Vous utilisez quel navigateur?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *