我正在尝试看看有什么好的方法来验证我的软件。
我为每个购买者生成一个密钥,然后希望确保该密钥只使用一次,并且他们不能在其他计算机上安装应用程序并使用相同的密钥。
有没有什么好的建议?
谢谢,
发布于 2009-07-20 18:00:59
最流行的方式是呼叫总部的方式。注册后,您的应用程序将联系您控制的服务器并发送注册信息。您将根据数据库检查密钥。如果是新的,允许注册。否则拒绝注册。
这是一种简单的方法,但对用户不是很友好。
问题1:用户重新格式化计算机/计算机死机/更改计算机。在这种情况下,您的客户将无法重新安装他们支付的软件。一种解决方案是让他们联系你,然后你给他们发送一个新的密钥。
问题2:用户无法访问互联网:解决方案:使您的应用程序只能在线使用。
问题3:用户卸载了他们的程序,然后希望稍后重新安装。解决方案:在卸载过程中,您必须联系您的注册服务器并删除密钥。
认识到你的目标应该是让诚实的人保持诚实。盗版你的东西的人很容易就能挫败你在版权保护方面的最大努力。保持简单,不要花太多时间在上面,处理更重要的问题。
发布于 2009-07-20 18:00:13
一种简单的方法是让计算机通过Internet发送激活码,然后在服务器上注册。以这种方式,相同的激活密钥不能再次使用。
如果没有Internet连接,您也可以让他们使用激活密钥进行呼叫。
发布于 2009-07-20 21:07:34
这里真正的问题是是否真的需要严格的许可证执行。当然,在某些情况下是这样的,但在许多情况下,许可证代码是过度杀伤力。最后,这是一种权衡:
激活的优点:
中的确切副本数量
最小许可的优点(序列号和基本的、非互联网验证)
激活方案对开发人员有好处,让用户头疼,而轻量级许可对用户更有吸引力,并且只给用户提供最小的缺点。我最喜欢的权衡这两个选择的文章之一是Eric Sink's "Tenets of Transparency (point 4)。
尽管你可能认为你需要激活,但我鼓励你考虑你是否真的需要激活。严格执行带来的额外销售额是否超过了所有不利因素造成的销售额损失?
https://stackoverflow.com/questions/1154972
复制相似问题