申请validation许可证?

如果我对我的应用程序强制执行许可限制,比如第一次运行应用程序,那么我的应用程序每次都应检查限制(可能是加密的许可证文件)吗? 你是如何设计这个部分的? 什么是最好的方法? 基本上我想以某种方式节省CPU周期(加密意味着解密等等)。我希望你理解我的关注。

这实际上取决于您希望如何在应用程序中处理它,以及您希望为用户采取何种类型的操作。

如果您只检查第一次加载,则需要在某处存储validation的成功/失败,以便您的应用程序知道它是否合法。 这就成为一个问题,因为您需要validation您的系统是实际存储/更新该信息源的唯一事物。

取决于它是什么类型的应用程序。

如果它是桌面应用程序,一旦validation了许可证密钥…您可以在某处设置一个位置,让您的软件知道它在许可模式下运行。 确保该位在应用程序文件夹之外的某个位置(如果有人直接将您的应用程序复制到另一台计算机,那么您的软件将知道它不再获得许可)。

如果您正在尝试创建Web应用程序,则站点目录中某处的加密许可证文件似乎是一种流行的解决方案。 该文件包含许可证类型和域名…然后您的Web应用程序会根据每个请求validation许可证(一点点开销,但您可以快速制作该代码)。

这取决于您真正希望获得许可的安全性。 我建议每次应用程序启动时检查许可证密钥 – 这在CPU /内存方面不应太昂贵。 如果您只是在第一次运行时检查,那么它很容易被黑客攻击,并且可以将密钥一次又一次地移除并安装在另一台计算机上。

通常,大多数第三方许可解决方案(如FLEXnet或RLM)建议您每次运行程序时都至少validation应用程序许可证。 通常,至少做到这一点并不是太昂贵。

在某些情况下 – 您必须确定这是否适用于您 – 更频繁地进行许可检查是有意义的。 例如,某些软件单独许可程序的组件,每次访问该组件时都要检查该组件的许可证。 使用商业应用程序,如上面提到的那样,这并不昂贵,所以它很常见。