我需要想出一种独特识别计算机的方法。 类似于CPU的系统ID或信息,无法轻易入侵 在php应用程序运行时获取,然后通过Internet发送到中央数据库以激活或验证许可证密钥。
系统信息:
预先感谢您的回复
答案 0 :(得分:4)
没有“不能被黑”的东西。有很多方案可以强制执行此操作,但大多数方案会激怒合法客户,而不是停止非合法使用。 MAC地址应该是唯一的,但是大多数NIC允许它们很容易地重新配置,允许您的许可证密钥只需重新配置MAC就可以在任何其他计算机上使用(它必须简单地在其他计算机的子网之外,使用相同的MAC)。
如果你真的想继续,我建议你研究加密和数字签名,这可能会让你前进,但它很可能不会阻止坚定的黑客。即使您可以在系统中找到一些独特且无法更改的内容,您的php应用程序(操作系统或您正在使用的任何库)之间仍然存在层,或者可以替换为预定义的PHP代码本身数据与许可证密钥中的数据匹配。更不用说合法客户无法投资新硬件,将冗余系统作为备用,或者任何其他完全合法使用您的软件而不是特定系统。
在我看来,您最好的选择是相信您的客户不想非法操作。任何许可“强制执行”应仅仅是帮助您的客户更新其许可证,我个人也不认为过期的许可证应该停止您的软件操作,它可能会唠叨,但不能完全停止。只需使用您的私钥签署客户名称和到期日期即可。它仍然可以被复制,只要复制的系统使用相同的“客户名称”,但是再一次,他们仍然可以破解你的php文件而不显示它。
答案 1 :(得分:2)
为什么不使用网卡的MAC地址?它们假设是唯一的。
您可以使用here所述的技术获取MAC。
请记住,没有任何银弹:如果人们真的想要你(假设是服务器端软件),他们会得到它......这只是一个问题时间与努力。
答案 2 :(得分:2)
使用php exec
命令运行命令以获取MAC地址
答案 3 :(得分:0)
我记得,有一家公司使用计算机编程语言完成了这样的壮举。似乎每个Windows安装在注册表中都有一个唯一标识所述安装的唯一键条目。他们的计划报告了这个关键但是,如果没有在最终用户计算机上安装这样的报告程序,则很难这样做。
除非你碰巧极具创造力并想出其他的东西,否则上面提到的你可以使用的唯一工具如下:
好吧,我希望我把这一切都弄好了,并没有让自己成为一个傻瓜。
以上所述,涉及从用户计算机上读取内容,在用户计算机上放置内容,记录事件或三者的组合。为了绝对保证您是唯一识别用户,我建议使用以上所有内容。但是,什么时候足够了?
在尝试跟踪用户时,您真正需要关注的唯一事项如下:
当一个人失败时,其他人就会松弛,然后你可以修复伤害。