现在我们正在开发一个基于Windows的小应用程序.我们曾经提供试用版许可证,为期30天,在30天到期后,产品将无法使用.
现在这是我的问题:
想象一下,客户在1月1日下载并安装了该应用程序,到2月1日,试用期将结束.现在在1月31日,如果他再次将系统时间更改为1月1日,系统将从头开始计数,因此客户端可以通过简单地更改系统时间来延长试用期.
根据社区建议,我们可以查看互联网/日期时间,但作为一个小问题,我们无法通过服务器随机验证许可证,如果用户下线并更改系统日期时间,则会出现问题再次.有没有其他方法可以解决这个问题?
我已经检查了这个问题.
解决这个问题的最佳方法是什么?该产品是C#应用程序.
小智 8
根据您的要求,我看到,您无法检查在线服务器的日期.这对离线系统来说非常明显.
所以,你需要做一些事情 -
以高加密数据的形式设置注册日期和expirydate,并将其保存在注册表数据库中的某个位置.
每次打开应用程序时,获取最新的时钟日期并将加密数据保存在注册表中.
确保检查时钟日期和上次使用日期.如果最后使用了<clockdate,那么一切都很好但是如果使用了> clockdate,则用户已经更改了时钟日期.所以,不要更新注册表.
一旦lastusagedate到达到期日期,弹出一条消息"您的试用期已过期.".
希望这可以帮助.
干杯