python 如何使用时间模块生成许可证
我在寻找一种方法,想要生成一个(限时使用的).so 文件。当用户启动程序时,程序需要先检查许可证的有效日期,然后才能运行。
但问题是:
我尝试了几种解决方案,其中一个是使用 Python 的 time.ctime 来检查时间,看看是否真的在许可证的有效期内。可是这个方法返回的是机器的时间,所以如果用户想在没有许可证的情况下使用软件,他们只需更改机器的时间就可以了。
我希望这个想法足够清楚。
有没有更好的主意?
如果你需要更多的解释,请告诉我。
3 个回答
0
几乎所有的标准函数都会返回可以由用户调整的机器时间。
一种方法是调用一个网络服务,这个服务会返回“正确”的时间。但这只有在你能保证有网络连接的情况下才能实现。
你可能还需要问问自己,这样的麻烦是否真的值得去做?
1
你可以通过互联网从外部来源获取时间:Python 如何在线获取日期?
当然,这个方法只有在用户没有阻止你的程序访问互联网的情况下才能工作。如果你的程序无法访问互联网,那该怎么办呢?是拒绝运行吗?我觉得这样做不太好。
3
不管这个麻烦值不值得去做,你可以查看一些常见文件的访问时间(比如在Linux系统中的/etc/passwd),然后把这些时间和当前日期进行比较。如果你发现这些文件的访问或修改时间是在未来,那就说明有问题了。另外,在*unix系统中,用户可以替换系统的stat命令,这样它就会对你查看的信息进行一些处理。