我想开发一个可以连接到服务器并唯一标识客户端然后授予他们在服务器数据库上运行特定查询的权限的应用程序。如何以独特的方式识别客户。MAC地址是否足够可靠?还是我应该使用 CPU id 之类的东西或其他东西?
澄清:我不为我的应用程序创建注册码。因为它应该是一个免费的应用程序。我想通过 id 检测每个客户端,并决定哪个客户端有权在服务器上运行特定方法。
我想开发一个可以连接到服务器并唯一标识客户端然后授予他们在服务器数据库上运行特定查询的权限的应用程序。如何以独特的方式识别客户。MAC地址是否足够可靠?还是我应该使用 CPU id 之类的东西或其他东西?
澄清:我不为我的应用程序创建注册码。因为它应该是一个免费的应用程序。我想通过 id 检测每个客户端,并决定哪个客户端有权在服务器上运行特定方法。
通常的方法是给每个客户一个登录名(名称+密码)。这样一来,当客户端需要升级或出现故障时,就可以轻松更换客户端。
MAC 地址应该是唯一的,但没有强制执行此规则的中央注册表。还有一些工具可以改变它,所以它只是有点可靠。
CPU 和 HD ID 更难更改,但人们会在他们的硬盘死机或升级系统时抱怨。
许多 PC 都有 TPM 模块,它们有自己的 ID,但可以禁用它们并且可以擦除 ID。此外,还有隐私问题(当软件自动跟踪他们时,人们不喜欢它)。
自动化 ID 方法的另一个问题是如何在服务器上识别它们。当多个客户端第一次快速连续连接时,您将很难区分它们。
这个问题似乎已经被详细询问和回答(尽管您可能不喜欢这些答案,因为它们似乎加起来:这是有问题的。)我同意 Xefan 的评论,即更多细节将有助于定义您的问题。这是之前讨论的链接: