1

我正在开发一个 wordpress 插件。我的插件需要一些数据从用户的 wordpress 传输到我的网站(在服务器端)。我可以为此使用 cURL,但我想提供一点安全性。我不能使用 HTTPS 或 SSL,因为这些数据不是那么敏感,值得购买证书。我怎样才能做到这一点?一些公钥私钥算法什么的?我应该以哪种格式传输数据?它们是几根弦。你能建议我一个安全的方法吗?我担心 MITM 攻击。谢谢。

4

3 回答 3

1

我不确定这是否是一个解决方案,但您始终可以从您的终端读取信息。您可以将信息收集到本地文件(在客户端的插件文件夹中),然后定期从您的服务器(通过一些 crone 脚本)远程读取它吗?并使用类似的东西

file_get_contents("http:// wordpress pluginfolder ..... etc.   ???

...插件文件夹始终在同一个位置,因此 URL 不应该成为问题 ...对于“安全”部分,只需保护文件,以便只有您可以阅读它

于 2012-06-20T06:10:00.947 回答
1

是否为用户(拥有自己的 wordpress 站点)提供一个独特的“令牌”以存储在插件的配置中?

如果每个用户都有一个令牌,并且该用户有一个匹配的令牌,则可以使用该令牌对数据进行加密和解密。

令牌本身永远不会与加密数据一起进行通信,因此中间的任何人都很难解密它(并非不可能,但如果没有 SSH,您将获得最好的结果)。

于 2012-06-20T06:35:07.520 回答
0

我正在使用以下方法通过 HTTP 传输安全数据。Data 是一个 Request 对象,我正在对其进行序列化。现在这个序列化对象使用mcrypt_encrypt()如下加密

$encrypted=base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));

如此处所述并使用 curl 将该加密数据发布到我的主机。

在我的主机上,我使用解密数据

$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encrypted), MCRYPT_MODE_CBC, md5(md5($key))), "\0");

然后反序列化对象。我还在添加盐以提高安全性。

更详细的解释,你可以访问这个帖子

于 2012-07-18T09:46:38.820 回答