Maison  >  Article  >  développement back-end  >  Comment protéger le code principal de PHP

Comment protéger le code principal de PHP

(*-*)浩
(*-*)浩original
2019-09-10 16:04:423953parcourir

Protéger PHP, c'est protéger les droits de propriété intellectuelle, y compris certaines interfaces importantes, etc.

Comment protéger le code principal de PHP

Solutions actuellement couramment utilisées :

Pour la protection des langages dynamiques​​tels que PHP, je je pense que c'est la même chose que celle résumée avant. La protection js est presque la même, rien de plus que : (apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

cryptage ; (le plus faible, il n'y a aucun moyen, ce genre de dynamique Les caractéristiques du langage interprété conduisent à) un débogage dynamique ou un accrochage pour le résoudre, bien sûr cela peut aussi être fait en regardant.

obscurcissement ; (c'est-à-dire certains obscurcissements locaux, y compris des modifications des variables et des chaînes dans le code, les plus forts effectueront un anti-obscurcissement logique via l'accord php ast open source) ; avec.

Protection des machines virtuelles, une question courante, quant à l'amélioration de la machine virtuelle, cela dépend de la façon de bien la combiner avec la couche locale, et de comment mieux concevoir le Handler ; comme Rubik's Cube, rétro-ingénierie, 52 Il y a un grand gars Ganlv qui a fait des recherches approfondies, vous pouvez aller le lire

Il y a aussi l'introduction de la compilation , qui est ; compilé dans un fichier de bytecode pour l'interprétation et l'exécution. Il y a un écart entre le bytecode et l'interprétation, vous pouvez modifier les règles de mappage à ce moment, par exemple, Zend Guard

Swoole Compiler est. actuellement le plus fort, et en même temps l'impact sur les performances n'est pas significatif. Je suis très curieux et intéressé par ce cryptage étendu, bien sûr, je ne peux pas l'analyser. je n'ai pas le temps.

Nous savons que les langages dynamiques comme PHP doivent fonctionner sur un interpréteur.

Interpréteur de bytecode Zend, ce qui peut être fait ici est de convertir le bytecode Zend en LLVM ir, puis de l'optimiser à l'aide de nombreuses bonnes passes d'optimisation dans llvm, et il peut également être obscurci.

Swoole Compiler compile PHP en bytecode ou en fichiers de niveau inférieur, puis fournit aux clients un outil d'extension pour l'interprétation ; pour Swoole Compiler, cela peut être une modification magique de la partie interprétation dans la machine virtuelle Zend. Plus, plus quelques autres mesures de sécurité, l'effet peut être plus puissant. On estime que de nombreuses routines de piratage existantes seront invalides. En même temps, Swoole lui-même est le légendaire Node.js en PHP, et ses performances doivent être meilleures. de nombreuses optimisations ont été faites pour compenser la perte de performances dans la protection de la virtualisation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn