我正在开发一个Prestashop模块,我需要保护它免受的影响
-
简单的代码修改(我完全知道没有一个程序不能以某种方式反编译,或者至少暴露了操作码)
-
确保每个客户都为模块付费
在花了大约1个小时思考之后,我想出了以下解决方案:
- 根据
PS_SHOP_DOMAIN
的值执行串行密钥验证 - 使用PHP的blenc_Encrypt加密源代码(http://php.net/manual/en/book.blenc.php)
- 在模块中创建一个配置视图,允许用户粘贴以前从我的网站上购买的密钥
我的问题是,Prestashop的哪些部分实际上依赖于PS_SHOP_DOMAIN
?这个值是否足够重要*,或者我应该使用其他值?如果我用别的东西,那会是什么?
*足够重要-由代码的重要部分使用,因此不可能在不破坏整个Prestashop安装的情况下更改值。
保护模块脚本的最佳方法是在自己的服务器中提供一些功能。为一些函数创建一个小api,并通过域名和api密钥限制访问。这是您将代码"保护"的唯一方法。