2010-03-15 134 views
1

我被要求通过混淆来保护Magento模块。我从来没有使用PHP的混淆包,但我知道他们是如何工作,我在混淆一个模块,这是非常XML依赖预见一些问题:混淆Magento模块

  • /etc/config.xml注册harcoded类名称和路径
  • 自动加载过度使用和路径很重要
  • 我无法想象如何自动混淆后面将由Mage :: getModel('my/module')调用的类名称。
  • 我将不得不从混淆过程中排除Magento函数调用(例如$ order-> getItems())。

有什么建议吗?

回答

3

我不了解IonCube编码器,但Zend Encoder能够对文件进行编码,以便它们基本上以PHP字节码的形式操作,并且不易编辑。由于代码已编译,您的字符串,类名等将被编码,仍然可以访问。文件名将保持不变,以便任何包含都能正常运行。这有加速执行的副作用,因为PHP编译器不必重新编译PHP文件。

请务必指定您不想重命名类等,因为更强大的编码类型会导致您列出的所有问题。另一个需要注意的是,任何不重命名类和函数的编码都更容易被解码,但对于一个持久的人来说,无论如何都是如此。

希望有所帮助。

谢谢, 乔

+0

我见过Ioncube公司用于这一点 - 一个模块我使用了与Ioncube公司编码的一个辅助文件,以及核心IP保持该助手文件中。其他一切纯文本。 – Laizer 2010-03-16 11:44:46