[英]How can I get a host computer unique ID in PHP?
我需要想出一种唯一标识计算机的方法。 在php应用程序运行时可以轻松获取诸如系统ID或来自CPU的信息,这些信息不容易被黑客入侵,然后通过Internet发送到中央数据库以激活或验证许可证密钥。
系统信息:
预先感谢您的任何答复
没有“不能被黑客入侵”之类的东西。 有很多方案可以执行此操作,但是大多数方案都会激怒合法客户,而不是停止非法使用。 MAC地址应该是唯一的,但是大多数NIC都可以很容易地对其进行重新配置,只需重新配置MAC,就可以在其他任何计算机上使用您的许可证密钥(它必须位于其他计算机的子网之外,使用相同的MAC)。
如果您真的想继续前进,我建议您研究加密技术和数字签名,这可能会让您步入正轨,但它很可能不会阻止坚定的黑客。 即使您可以在系统中找到独特的东西,并且无法更改,在php应用程序(操作系统或正在使用的任何库)之间仍然存在一层,或者可以替换以提供预定义的php代码本身与许可证密钥中的数据匹配的数据。 更不用说合法客户将无法投资新硬件,具有冗余系统作为后备系统,或对您的软件进行任何其他完全合法的使用,而这些软件没有与特定系统绑定。
我认为,最好的选择是信任不希望非法经营的客户。 任何“强制执行”许可证都应该只是帮助您的客户续订许可证,我个人也不认为过期的许可证会停止软件的运行,它可能会na废它,但不能立即停止。 只需在客户名称上签名,并用私钥到期就足够了。 只要复制的系统使用相同的“客户名称”,它仍然可以被复制,但是同样,他们仍然可以破解您的php文件而不显示它。
为什么不使用NIC的MAC地址? 它们应该是唯一的。
您可以使用此处介绍的技术获取MAC。
请记住,没有什么灵丹妙药 :如果人们真的想要您的(假定是服务器端软件),他们就会得到它……这只是时间和精力的问题。
使用php exec
命令运行命令以获取MAC地址
我记得有一家公司做到了这一壮举,但却使用了计算机编程语言。 似乎Windows的每个安装在注册表中都有一个唯一的项,用于唯一标识所述安装。 他们的程序报告了此密钥。 但是,如果在最终用户计算机上没有这样的报告程序,则很难做到这一点。
除非您碰巧极富创造力并提出其他建议,否则上面提到的唯一可用的工具如下。
好吧,我希望我一切都正确,而不仅仅是自欺欺人。
上面提到的所有内容都涉及到从用户计算机上读取某些内容,在用户计算机上放置一些内容,记录事件或这三者的组合。 为了绝对确保您可以唯一地标识用户,我建议使用以上所有方法。 但是,什么时候足够?
尝试跟踪用户时,您真正需要关心的唯一事情如下。
当其中一个发生故障时,其他故障将解决,您可以修复损坏。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.