我有 Windows 程序,我想制作自己的许可证服务器。我不喜欢手动生成任何密钥。这个想法是在服务器上检查同时运行的两个副本。
我的算法。
- 用户购买许可证密钥。
- 服务器脚本将密钥插入服务器数据库。
- 用户在程序中输入密钥。该程序将其插入其数据库。
- 用户启动程序。之后,程序使用许可证密钥登录到服务器。并在用户关闭程序时注销。
- 如果有两个副本使用相同的密钥同时登录到服务器,则服务器脚本会停用许可证密钥。
但是,如果恶意用户在 Windows 中的 HOSTS 文件中添加了伪造的服务器,我将如何防止他们欺骗许可证服务器?
也许我的服务器应该在程序身份验证后返回一些唯一的答案,并且程序将使用该信息来确定许可证服务器是否合法而不是假服务器。但是为了这个目的它需要返回什么样的信息呢?