PHP - 根据服务器硬件/操作系统/环境生成唯一ID?

时间:2012-03-17 09:05:09

标签: php

是否可以根据服务器硬件/操作系统生成唯一ID?我想基于客户服务器为我的PHP Web应用程序生成许可证密钥,就像Atlassian JIRA一样。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可以尝试阅读多个$_SERVER / $_ENV变量并将它们组合成一个字符串。在这个字符串md5之后,您将获得许可证密钥。

如果您不希望客户每次更新服务器时都获得新的许可证密钥,则必须注意选择哪些变量。此外,并非所有变量都适用于所有系统配置。

答案 1 :(得分:0)

我认为更好的方法是使用从服务器获取HWID的任何其他语言编写EXE,然后让您的PHP脚本exec()EXE,如果EXE的输出匹配则运行脚本。 ..如果没有,则显示错误。

您可能希望至少在PHP中使用blenc_encrypt(),以便您可以阻止用户进入并将“if(systemhwid == validhwid)”更改为“if(1 == 1)”

更好的加密选项是使用IonCube(我认为它是加密PHP文件的Ioncube),但遗憾的是它需要花费很多钱。

在PHP.net中搜索blenc_encrypt()函数

对于那些通过说“网络服务器不打算这样做”或“你不需要在服务器上验证HWID”之类的东西来避免问题的人,我们只是回答这个问题!不要只是说这是不可能的,因为我的答案证明它是可能的......你只需要在盒子外思考,你需要一点思考。此外,不要质疑用户的意图,他们只想要一个直接的答案,没有BS。