2010-03-15 7 views
1

J'ai été invité à protéger un module Magento par obfuscation. Je ne ai jamais utilisé paquets d'obscurcissement PHP mais je sais comment ils fonctionnent et je prévois des problèmes dans obscurcissant un module qui est très chaîne et xml dépendante:Obfuscation d'un module Magento

  • /etc/config.xml enregistre harcoded classe noms et chemins
  • chargement automatique est fortement utilisé et les chemins sont importants
  • Je ne peux pas imaginer comment obscurcir automatiquement un nom de classe qui sera appelé plus tard par Mage :: getModel ('mon/module').
  • Je vais devoir exclure du processus d'obfuscation les appels de fonction Magento (par exemple $ order-> getItems()).

Des recommandations?

Répondre

3

Je ne connais pas l'encodeur IonCube, mais Zend Encoder est capable de coder les fichiers pour qu'ils fonctionnent essentiellement comme du bytecode PHP et ne puissent pas être modifiés facilement. Puisque le code est compilé, vos chaînes, noms de classe, etc seront encodés toujours accessibles. Les noms de fichiers resteront les mêmes afin que toutes les inclusions fonctionnent correctement. Cela a pour effet secondaire d'accélérer l'exécution car le compilateur PHP n'a pas besoin de recompiler les fichiers PHP. Assurez-vous de spécifier que vous ne voulez pas renommer les classes et autres, car le type d'encodage plus fort provoquera tous les problèmes que vous avez énumérés. L'autre inconvénient ici est que tout encodage qui ne renomme pas les classes et les fonctions est plus facilement non-codé, mais pour une personne persistante c'est le cas de toute façon.

Espérons que ça aide.

Merci, Joe

+0

Je l'ai vu Ioncube utilisé pour ce - un module j'utiliser avait un fichier d'aide codé avec Ioncube, et le noyau IP maintenu dans ce fichier d'aide. Tout le reste du texte. – Laizer