如何通过域名验证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这样的东西时,人们只能看到你的代码-通过TJHX

我也研究了很多选项,但事实是,用户总是可以访问wordpress插件中的代码,并且可以很容易地对CURL请求标头进行修改,即使你对其进行了加密。我们所能做的就是将其添加到我们的许可证中。

在我的插件中,有一些iframe会在前端加载数据,所以当用户购买插件时,我会接受域名,并检查我的iframe的引用人来解决这个问题。

非常感谢大家的帮助。