我正在制作wordpress插件。我的插件需要将一些数据从用户的wordpress传输到我的站点(在服务器端)。我可以使用cURL,但我想提供一点安全性。我不能使用HTTPS或SSL,因为这些数据不是那些值得为证书支付的敏感数据。我怎样才能做到这一点?一些公钥私钥算法还是什么?我应该以哪种格式传输数据?它们很少。 你能为我建议一个安全的方法吗?我担心MITM攻击。 谢谢。
答案 0 :(得分:1)
我不确定这是否是一个解决方案,但您可以随时阅读最终信息。您是否可以将信息收集到本地文件(在客户端的插件文件夹中),然后定期从服务器(通过一些crone脚本)远程读取它?并使用像
这样的东西file_get_contents("http:// wordpress pluginfolder ..... etc. ???
...插件文件夹始终位于同一位置,因此URL不应成为问题 ...对于“安全”部分,只需保护文件,只有您可以阅读
答案 1 :(得分:1)
是否为用户(拥有自己的wordpress网站)提供了一个唯一的“令牌”,以便在插件的配置中存储一个选项?
如果您有每个用户的令牌,并且该用户具有匹配的令牌,则可以使用该令牌对数据进行加密和解密。
令牌本身永远不会与加密数据一起传递,因此中间的任何人都会有更难的时间解密它(并非不可能,但没有SSH就能得到最好的。)
答案 2 :(得分:0)
我正在使用以下方法通过HTTP传输安全数据。
数据是一个Request对象,我正在序列化。现在,使用mcrypt_encrypt()
加密此序列化对象,如下所示
$encrypted=base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
提到here和POST使用curl将数据加密到我的主机。
在我的主机上,我使用
解密数据$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encrypted), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
然后反序列化该对象。我也在加盐以提高安全性。
有关详细说明,请访问this post