使用PHP安全地传输数据

时间:2012-06-20 04:01:37

标签: php wordpress encryption

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

3 个答案:

答案 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