我在尝试什么
我正在为客户端构建 Codeigniter 应用程序。我需要在客户端服务器中上传 codeigniter 应用程序。因此我需要加密或保护我的源文件。
我需要什么
我应该如何保护或加密我的 Codeigniter 源文件或项目。
我正在为客户端构建 Codeigniter 应用程序。我需要在客户端服务器中上传 codeigniter 应用程序。因此我需要加密或保护我的源文件。
我应该如何保护或加密我的 Codeigniter 源文件或项目。
好吧,这将带走开源的全部意义。您必须使用 ionCube 或 Zend 编码器加密/混淆您的源。但是,由于您使用的是框架,因此我不确定该应用程序在编码后是否可以工作。ionCube 说他们使用 codeigniter,但我没有任何经验。
我以前没用过 Zend。即使您对它们进行了加密,我也看到了他们声称能够获得正常干净代码的帖子。我不知道这有多少是真的。
但是如果你需要保护源代码 ionCube 或 Zend 编码器说他们可以。 http://www.ioncube.com/或http://www.zend.com/en/products/guard/
我也需要这种类型的功能,所有用户都建议使用 ioncube和ZendGuard,但这个软件是付费版本。所以对这个功能的研究我得到了一个如此完美的工具,它允许我只使用我想要的单个 PHP 文件编码。
在我的项目中实现此编码代码后,对代码没有影响并且可以完美运行,它是Byterun。
ionCube 有问题。问题是当 CodeIgniter 代码被混淆和加密时,该函数/类/变量的调用区域无法识别新创建的函数/类/变量名称并产生错误。
ionCube 知道其中的缺陷并提供了一种方法来排除在该文件之外被调用的此类文件,但这就是 MVC 所做的。ionCube 不是一个优雅的解决方案。
https://blog.ioncube.com/2014/10/16/common-obfuscation-pitfalls/
我没有检查 ZendGuard,但我的直觉告诉我们,如果我们使用任何代码加密工具都会出现同样的问题。重点是,我们对文件、类、方法、变量进行了加密和混淆(encrypt/obfuscate),经过处理后,它会为类、方法、变量生成新的名称。现在,另一个模型,控制器,方法正在调用相同的变量/方法,然后它将无法识别并抛出错误。对于 ZendGuard 或其他工具,我不确定 100%,但检查了 ionCube。