使用PHP安全地传输数据

使用PHP安全地传输数据,php,wordpress,encryption,Php,Wordpress,Encryption,我正在开发wordpress插件。我的插件需要一些数据从用户的wordpress传输到我的站点(服务器端)。我可以使用cURL,但我想提供一点安全性。我不能使用HTTPS或SSL,因为这些数据不太敏感,值得为证书付费。我该怎么做?一些公钥私钥算法还是什么?我应该以何种格式传输数据?它们是几根弦。 你能给我建议一个安全的方法吗?我担心MITM攻击。 谢谢 我不确定这是否是一个解决方案,但您可以随时从您的终端读取信息。您是否可以将信息收集到本地文件(在客户端的插件文件夹中),然后定期从服务器远程读取

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

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

file_get_contents("http:// wordpress pluginfolder ..... etc.   ???
。。。插件文件夹始终位于同一位置,因此URL不应成为问题 ... 对于“安全”部分,只需保护文件,以便只有您才能读取它

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

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


令牌本身从不与加密数据通信,所以中间的任何人都会有更大的时间解密它(不是不可能的,但最好没有SSH)。

< P>我使用以下方法在HTTP上传输安全数据。 数据是一个请求对象,我正在序列化它。现在使用
mcrypt\u 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");
然后取消序列化对象。我还添加了盐以提高安全性


有关更详细的解释,您可以访问

我认为唯一的方法是使用SSL。您的插件源代码将是公共的,因此您不能使用任何基于私钥的加密。SSH(公钥/私钥)或HTTPS的自签名证书应该可以正常工作(只需要消费者信任)。SSH很好,因为这样就可以使用SCP或SFTP之类的工具(例如,代替cURL)。HTTPS很好,因为它是HTTPS。自签名SSL证书是免费的。难道不能像这样,数据用我的公钥加密,我可以用我的私钥解密吗?所以,如果源代码对用户开放,就不会有问题。我现在正在使用共享主机,所以我不能同时使用自签名证书。这几乎就像有人建议的SSH(推、拉或前向)。有关加密的存档/文件/消息,请参阅PGP。如果只需要验证(例如,不加密),考虑一个简单的哈希(MD5或Sax)校验和。是的,这就是我想要的。但是我应该使用什么算法来加密数据呢?