我正在开发一个wordpress插件。我的插件需要一些数据从用户的wordpress传输到我的网站(在服务器端)。我可以使用cURL来实现这一点,但我想提供一点安全性。我不能使用HTTPS或SSL,因为这些数据不那么敏感,值得为证书付费。我该怎么做呢?一些公钥-私钥算法还是什么?我应该以哪种格式传输数据?它们是几个字符串。你能给我推荐一种安全的方法吗?我很担心MITM攻击。谢谢。
发布于 2012-07-18 17:46:39
我使用以下方法通过HTTP传输安全数据。Data是一个请求对象,我正在序列化它。现在,这个序列化的对象使用mcrypt_encrypt()加密,如下所示
$encrypted=base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));如前所述,here并使用curl将加密数据发送到我的主机。
在我的主机上,我使用以下命令解密数据
$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encrypted), MCRYPT_MODE_CBC, md5(md5($key))), "\0");然后反序列化该对象。为了更好的安全性,我还添加了盐。
有关更详细的解释,请访问this post
发布于 2012-06-20 14:10:01
我不确定这是否是一个解决方案,但你总是可以从你的终端阅读信息。您是否可以将信息收集到本地文件(在客户端的插件文件夹中),然后定期从服务器远程读取(通过一些crone脚本)?并使用类似于
file_get_contents("http:// wordpress pluginfolder ..... etc. ???..。插件文件夹总是在同一个位置,所以URL应该不是问题……对于“安全的”部分,只需保护文件,以便只有您可以读取它
发布于 2012-06-20 14:35:08
为用户(拥有自己的wordpress站点)提供一个唯一的“令牌”来存储在插件的配置中是一种选择吗?
如果每个用户都有一个令牌,并且该用户有一个匹配的令牌,则可以使用该令牌对数据进行加密和解密。
令牌本身永远不会与加密的数据一起通信,因此中间的任何人都将很难解密它(并非不可能,但这是没有SSH的最好结果)。
https://stackoverflow.com/questions/11112641
复制相似问题