如何通过域名验证 WordPress 插件?

How to authenticate a WordPress plugin by domain name?

我有一个混合 WordPress 插件,它使用 curl 从主服务器获取所有数据。我们称它为 A.

B是请求数据的客户端,也可以向A发送数据

现在每个请求都使用 API 访问密钥进行加密和验证。

但这里的问题是,如果我将插件从 B 复制到新的客户端站点 C,当我使用相同的访问密钥等时,插件开始工作。

我希望能够将一个 API 访问密钥的访问限制为一个域名。我怎样才能做到这一点?

我会说在您的访问密钥管理中包含允许的主机的 IP 地址 (B)。

因此:当 B 进行调用时,您可以验证密钥和它调用的 IP。

在A上,你可以使用$_SERVER['REMOTE_ADDR']之类的东西来测试调用脚本的IP。

两个缺点:当网站移动服务器时,插件将停止工作。当然,人们仍然可以欺骗他们的 IP,所以有一种方法可以解决这个问题,但至少你让它变得更加复杂,并且在大多数情况下可能不值得麻烦。

TJHX 的建议

将其作为您授予客户的许可的一部分。诚实的人会追随它,不诚实的人会想办法破解你的 DRM。这是一个技术无法真正自信地解决的问题,尤其是当使用 wordpress 之类的东西时,人们只能看到您的代码 - By TJHX

我也研究了很多选项,但事实是用户始终可以访问 wordpress 插件中的代码,并且可以轻松修改 CURL 请求 Headers 即使您加密它。 我们所能做的就是将其添加到我们的许可证中。

在我的插件中,有 iframe 将在前端加载数据,因此我将在用户购买插件时接受域名,并将检查我的 iframe 的引荐来源网址以解决此问题。

非常感谢大家的帮助。