开发 软件LicenseService时遇到的一些问题
现应软件需求,需要开发License服务器,根据License的需求,在开发中遇到下面几个问题,希望大家能给点建议及解决方案1、防止通过调整系统时间突破许可有效期。
解决思路:
1.1 在系统文件夹下生成一个记录使用次数或时间的文件,记录License Service最后访问的时间,与每次请求验证的时间进行比较,如果保存的时间小于验证的时间,则系统时间被修改
不足:用户太多会产生文件的并发,导致读取或写入失败。 用户有可能删除该文件,导致失败
1.2 写入注册表,新建一个键,保存最后访问License的时间
不足:是否有权限写入注册表。 如果用户手动删除注册表怎么办
1.3 保存到磁盘:利用对寄存器的操作,写入到磁盘末尾,利用计算机一般用不到磁盘的末尾。
不足:不好控制写入哪个盘,并且实现代码不会写
2、防止通过虚拟机环境进行许可证赋值
解决思路:
1.1 在虚拟机注册应用软件时,获取应用软件当前运行虚拟机的硬件信息,并获得当前虚拟机所在物理服务器的硬件信息。最后通过对虚拟机硬件信息比较和物理服务器硬件比较来进行验证
问题:怎么获取虚拟机所在物理服务器的硬件信息。。。。。
希望大家能解决我得问题并且能有更好的解决方案进行分享,谢谢大家
补充:.NET技术 , C#