防止用户篡改Chrome扩展's免费试用

Prevent user from tampering with a Chrome Extension's free trial

本文关键字:免费试用 扩展 Chrome 用户      更新时间:2023-09-26

提供免费试用的付费Chrome扩展必须手动检查许可证的颁发时间,才能"过期"免费试用。

推荐的方法是调用License API并验证响应。这种情况发生在扩展的JavaScript代码中,很容易被篡改。

例如,在上面链接的代码段中,用户可以很容易地检查后台页面,并在if块之后插入断点,然后运行licenseStatus = "FULL",从而使他们能够完全访问扩展的功能。

有没有办法减轻这种篡改?

一个坚定的用户将始终能够复制您的扩展,向其添加修改,并将其作为未打包加载。

代码混淆,即缩小,起到威慑作用,但不会阻止它。

客户端代码总是如此(提供了一个方便的调试器)。唯一真正的解决方案是一个服务器端组件,它执行一些非琐碎的工作并检查许可证本身。

因此,这有点像一种荣誉制度:你可以期待大多数首先愿意付费的用户真正付费,理论上你有法律工具来追查用户,这些用户不仅破坏了你的保护,还分发了修改后的扩展。如果这还不够,而且你不能实现上面的"真正"解决方案,你应该重新考虑开发付费扩展。