如何使Mac地址的许可证密钥保护我的PHP应用程序

时间:2017-12-25 06:56:17

标签: php license-key

我正在使用php语言开发热点系统, 现在我想卖掉这个系统,但是如何保护我的系统不被买家重新销售呢?我想确保正确的机器使用许可证密钥和正确的mac地址,这意味着许可证密钥不能使用不止一次。 我怎么能这样做,我不知道

1 个答案:

答案 0 :(得分:1)

MAC地址不是许可证绑定的可靠数据源。在大多数情况下,用户可以更改网卡的MAC地址,并以这种方式绕过您的安全。

您可以使用更复杂的算法将许可证绑定到PC。获取主板类型,CPU类型,RAM类型和MAC类型。计算所有这些数据的某种哈希值,并根据它生成许可证。

不幸的是,您的合法用户会更改硬件,他/她必须通知您并要求提供新的许可证代码。

我假设您的系统是Linux,因此您可以通过从php调用shell命令来获取有关系统的所有信息。

获取CPU信息:

$cpu = array_filter(
    array_unique(
        split("\n",
            shell_exec('cat /proc/cpuinfo | grep "model name\|vendor_id"')
        )
    )
);
print_r($cpu);

它将输出如下内容:

Array                                                                   
(                                                                       
    [0] => vendor_id    : GenuineIntel                                  
    [1] => model name   : Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz     
)                                                                       

要获取有关主板的信息,您可以运行shell命令" sudo dmidecode -t 2" (你必须给你的php用户(www-data)访问权限才能运行sudo dmidecode)

要获取内存信息,命令应为" sudo dmidecode -t 17"