我们有一个用PHP编写的应用程序,我们将向客户许可。我们公司认为客户可能打算窃取源代码并创建自己的软件分支,因此我们要加密源代码。
我搜索了一些PHP加密器并发现了一些似乎很好的,但由于我们以前没有PHP加密器的经验,很难说哪一个是最好的。您使用了哪些PHP加密器,您的体验是什么?
答案 0 :(得分:3)
所以,首先:
加密整个代码库是不可能的,因为在某些时候必须有一个eval语句,如果用户将eval更改为echo,它们会在浏览器中获取所有代码。
这是一个bunch of people who agree with me。
此外:
人们会为你提供混淆器,但是没有多少混淆可以阻止某人使用你的代码。没有。如果您的计算机可以运行它,或者如果它可以播放电影和音乐,则用户可以使用它。即使将其编译为机器代码也会使工作变得更加困难。如果你使用混淆器,你只是在欺骗自己。更糟糕的是,您也不允许用户修复错误或进行修改。 - Schwern
现在已经完成了:
字节编译与加密完全不同。它使PHP代码成为已解释的字节,类似于exe文件。您可以像任何其他php文件一样包含这些文件。
生成的字节码能够进行逆向工程,但这需要花费很多时间,并且不值得公司花时间。
查看byte compiler PHP extension.
我还要注意PHP提供了几种逆向工程类的方法。比如Reflection Class。这基本上允许人们在不需要源代码的情况下查看每个类中的每个方法,变量和常量。
坦率地说,一旦有人看到你使用的功能,那么很容易将它拼凑在一起。
答案 1 :(得分:1)
那里有许多伪装成加密器的obfusticaters。
如果你真的必须加密代码,请使用Zend。
IMHO将您的客户与您的代码联系起来本质上是邪恶的,宁愿在代码中隐藏一些符号系统并在无修改/转售合同下出售。如果他们试图卖掉它,那就起诉他们。您可能会认为加密代码会关闭商业机会;)!
下进行。