在两个PHP脚本之间将加密数据服务器传输到服务器

在两个PHP脚本之间将加密数据服务器传输到服务器,php,http,encryption,ssl,mcrypt,Php,Http,Encryption,Ssl,Mcrypt,我需要将数据从本地服务器上的PHP脚本传输到宿主服务器上的远程API(也是用PHP编写的)。它基本上是一个原始版本控制系统,我使用HTTPGET和HTTPPOST传输文件和字符串 我想对连接进行加密,但我的(共享)web主机告诉我,我不能使用SSL,因为我无法获得专用IP地址——即使可以,我也不想在上面再花钱 我的问题是:有没有更好的方法 我考虑过的一些可能性是使用PHP中的mcrypt扩展在一端加密数据,在另一端解密 我还想到了TLS,据我所知,它可以用来创建没有证书的安全连接 编辑:请查看有

我需要将数据从本地服务器上的PHP脚本传输到宿主服务器上的远程API(也是用PHP编写的)。它基本上是一个原始版本控制系统,我使用HTTPGET和HTTPPOST传输文件和字符串

我想对连接进行加密,但我的(共享)web主机告诉我,我不能使用SSL,因为我无法获得专用IP地址——即使可以,我也不想在上面再花钱

我的问题是:有没有更好的方法

我考虑过的一些可能性是使用PHP中的mcrypt扩展在一端加密数据,在另一端解密

我还想到了TLS,据我所知,它可以用来创建没有证书的安全连接


编辑:请查看有关OpenPGP、GnuPG和使用MIME传输的后续信息。

您可以创建一个自签名证书以用于SSL。如果你是唯一一个必须信任证书的人,那么你没有理由向verisign这样的人支付证书的费用


<>你也可能想考虑下面的内容。一个共享托管服务,比如Dreamhost(我使用的),托管费用为每月10美元,静态IP费用为每月4美元,真正的SSL证书费用为每年15美元(每月1.25美元)。因此,对于一个拥有真正CA签名的真正证书的共享托管帐户,每月只需15美元。我不知道你现在和谁在一起,或者他们向您收取的费用,但如果您对该项目非常认真,每月15美元的投入并不是那么多。

您可以创建一个用于SSL的自签名证书。如果你是唯一一个必须信任证书的人,那么你没有理由向verisign这样的人支付证书的费用


<>你也可能想考虑下面的内容。一个共享托管服务,比如Dreamhost(我使用的),托管费用为每月10美元,静态IP费用为每月4美元,真正的SSL证书费用为每年15美元(每月1.25美元)。因此,对于一个拥有真正CA签名的真正证书的共享托管帐户,每月只需15美元。我不知道你现在和谁在一起,或者他们向你收取什么费用,但如果你对这个项目很认真的话,每月15美元就没有那么多钱投入了。

我认为你在这方面有点力不从心。对于共享主机,最明显的解决方案是HTTPS,但如果他们不让你这么做,你就有点卡住了。您找到的任何其他选项都需要您打开一个套接字,我怀疑您的共享主机是否允许这样做


您可能希望了解Amazon Web服务。我不知道你们为托管支付了多少钱,但他们有每小时10美分(大约每月72美元)的虚拟服务器。然后你就可以自由地做任何你想做的事。

我认为你在这件事上有点力不从心。对于共享主机,最明显的解决方案是HTTPS,但如果他们不让你这么做,你就有点卡住了。您找到的任何其他选项都需要您打开一个套接字,我怀疑您的共享主机是否允许这样做


您可能希望了解Amazon Web服务。我不知道你们为托管支付了多少钱,但他们有每小时10美分(大约每月72美元)的虚拟服务器。然后你就可以自由地做任何你想做的事。

如果你真的需要签名和所有的东西,那么仅仅使用简单的对称加密(例如在mcrypt的帮助下)或使用公钥/私钥有什么问题?另一个可能的解决方案是使用已安装的系统工具,将所有文件放在一个受密码保护的zip文件中。(php函数调用“system()”

如果您确实需要签名和所有内容,那么仅使用简单的对称加密(例如在mcrypt的帮助下)或带有公钥/私钥的东西有什么问题?另一个可能的解决方案是使用已安装的系统工具,将所有文件放在一个受密码保护的zip文件中。(php函数调用“system()”)

uhm。。他的主人说他无法获得专用ip。因此,自签名证书也不会起任何作用,因为它可能位于基于名称的虚拟主机上。我不认为自签名证书必须使用任何特定的IP地址。我认为,只有当您希望您的证书由CA签名时,才需要这样做。这不是问题所在。他是共享主机,所以在同一IP下有多个站点。SSL/TSL握手发生在主机名发送到服务器之前。因此,服务器不可能知道应该为哪个域提供证书。所以他不能这么做。但是这个讨论已经过时了,因为他的主机不允许他安装证书。然后看我的第二段关于获得一个不糟糕的主机服务。嗯。。他的主人说他无法获得专用ip。因此,自签名证书也不会起任何作用,因为它可能位于基于名称的虚拟主机上。我不认为自签名证书必须使用任何特定的IP地址。我认为,只有当您希望您的证书由CA签名时,才需要这样做。这不是问题所在。他是共享主机,所以在同一IP下有多个站点。SSL/TSL握手发生在主机名发送到服务器之前。因此,服务器不可能知道应该为哪个域提供证书。所以他不能这么做。但是这个讨论已经过时了,因为他的主机不允许他安装证书。然后看我的第二段,关于获得一个不糟糕的主机服务。对称加密将是直接的解决方案。但这是一个安全问题,因为他必须将解密密钥保存在服务器上的某个地方。对于公钥/私钥系统,我会选择pgp,但我怀疑他的主机是否安装了pgp,或者是否允许他销售。@jitter我不认为这是一个加密问题,因为如果一台服务器遭到黑客攻击,你在任何情况下都是注定要失败的。对于pgp部分: