像 canvasjs 这样的 javascript 库如何管理他们的试用期

How can a javascript library such as canvasjs manage their trial period

免责声明:我不想破解canvasJS 或避免为此付费。我只是好奇用于许可证管理的方法

CanvasJS 附带了 30 天的试用许可证,但是这段时间是如何管理的?

由于文件是直接从客户端下载到canvas服务器的(没有我的应用服务器的任何信息),他们怎么知道我的应用服务器正在使用canvasJS来做更多的事情30 天?

此外,如果网站 A 使用付费版本的 canvasJS,他们如何设法避免人们在任何其他网站上使用 javascript?

下载 CanvasJS 并(快速)查看代码后,我发现没有明显的方法可以控制试用期和未经授权的使用(滥用)。

当然,至少有一些方法可以控制试用期。例如,在程序逻辑中嵌入一些定期轮询中央服务器的功能。如果服务器记录轮询序列,它可以计算从每个客户端第一次调用以来经过了多少时间,因此它可以通知试用期何时结束。

一种更高级的独立技术(不需要任何外部服务器)是根据下载日期生成嵌入代码中的序列号。然后,一些核心功能应该根据下载日期验证当前时间,并在试用期到期时产生错误。

但是,我们在 javascript 中应用了多么先进的技术并不重要:所有这些可能的技术的弱点是所有版权保护功能都必须在 中编码 javascript,最后在客户端浏览器中执行:因此,在黑客的处置下 "decompile",修改并窃取该代码。因此,所有这些技术都必须依赖强大的源代码混淆来阻止黑客理解代码并找到核心功能。但最后只是混淆,根本无法确保安全。