许可软件的最佳和现代方式

发布于 2024-09-14 13:15:09 字数 1431 浏览 3 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

极致的悲 2024-09-21 13:15:09

最好的方法是不要这样做。它只会给您和您的付费客户带来麻烦。

也就是说,如果您仍然想继续,今天的最佳实践涉及相当复杂的方案。
获取 ID 的最佳方法是使用多个 ID:,例如 CPU ID、硬盘 ID、MAC 地址等。要识别计算机,您必须匹配 3/5 ID:或类似的内容。这样,即使用户更换损坏的网卡或CPU,许可证号也不会中断。

如果用户完全更换他/她的计算机,您仍然会遇到问题。
为了解决这个问题,您需要互联网上的许可服务器,您的软件必须在给定的时间间隔重新验证其许可证。如果新计算机 ID 尝试验证先前授予另一个 ID 的许可证,则新计算机将获得该许可证,并且旧 ID 将在重新验证时被阻止。您必须对新计算机“接管”现有许可证的频率实施合理的限制。

尝试看看其他商业软件是如何做到这一点的。以Windows为例。虽然您无法研究确切的实现,但您可以研究最终用户体验和最终用户文档,以找到所需的用例,了解用户如何更改硬件并将许可证移动到新计算机。

如果您不希望愤怒的用户在凌晨 2 点拨打您的私人手机询问为什么您的软件突然自我锁定,您必须仔细思考并正确测试大量用例。

The best way is to not do that. It will only cause trouble for you and your paying customers.

That said, if you still want proceed the best practices today involves quite complex schemes.
The best way to get an ID is to use multiple ID:s, like CPU ID, Hard drive ID, MAC address, etc. To identify a computer you have to match 3/5 ID:s or something like that. Then the license number will not break even if a user changes a broken network card or CPU.

You still have the problem if a users completely replaces his/her computer.
To handle that problem you need a licensing server on the internet where your software has to revalidate its license at given intervals. If a new computer ID tries to validate a license previously given to another ID the new computer gets the license and the old ID will be blocked when revalidating. You have to enforce a reasonable limit of how often new computers can "take over" an existing license.

Try to look at other commercial software how they do it. Take Windows for example. While you can not study the exact implementation you can study the end user experience and end user documentation to find your required use cases for how users can change hardware and move licenses to new computers.

If you don't want angry users calling your private cell phone at 2 AM asking why your software suddenly has locked it self you have to think this through and test a lot of use cases properly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文