【发布时间】:2018-06-06 13:51:13
【问题描述】:
我正在使用php语言开发热点系统, 现在我想出售这个系统,但是我怎样才能保护我的系统不被买家转售,我想确保许可证密钥被具有正确 MAC 地址的正确机器使用,这意味着许可证密钥不能使用一次以上。 我该怎么做,我不知道
【问题讨论】:
标签: php license-key
我正在使用php语言开发热点系统, 现在我想出售这个系统,但是我怎样才能保护我的系统不被买家转售,我想确保许可证密钥被具有正确 MAC 地址的正确机器使用,这意味着许可证密钥不能使用一次以上。 我该怎么做,我不知道
【问题讨论】:
标签: php license-key
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”
【讨论】: