解决日期时间许可证问题的最佳方法

irr*_*ror 4 c# licensing

现在我们正在开发一个基于Windows的小应用程序.我们曾经提供试用版许可证,为期30天,在30天到期后,产品将无法使用.

现在这是我的问题:

想象一下,客户在1月1日下载并安装了该应用程序,到2月1日,试用期将结束.现在在1月31日,如果他再次将系统时间更改为1月1日,系统将从头开始计数,因此客户端可以通过简单地更改系统时间来延长试用期.

根据社区建议,我们可以查看互联网/日期时间,但作为一个小问题,我们无法通过服务器随机验证许可证,如果用户下线并更改系统日期时间,则会出现问题再次.有没有其他方法可以解决这个问题?

我已经检查了这个问题.

解决这个问题的最佳方法是什么?该产品是C#应用程序.

小智 8

根据您的要求,我看到,您无法检查在线服务器的日期.这对离线系统来说非常明显.

所以,你需要做一些事情 -

  1. 以高加密数据的形式设置注册日期和expirydate,并将其保存在注册表数据库中的某个位置.

  2. 每次打开应用程序时,获取最新的时钟日期并将加密数据保存在注册表中.

  3. 确保检查时钟日期和上次使用日期.如果最后使用了<clockdate,那么一切都很好但是如果使用了> clockdate,则用户已经更改了时钟日期.所以,不要更新注册表.

  4. 一旦lastusagedate到达到期日期,弹出一条消息"您的试用期已过期.".

希望这可以帮助.

干杯


Hab*_*bib 5

可能最好的解决方案是使用在线服务器来验证许可详细信息.如果您让应用程序依赖客户端计算机的数据,那么他们总是有可能破坏它.但为此,您的客户必须能够访问互联网