Php 通过curl和mcrypt在两台服务器之间建立链接
我在两个地方有两台服务器。 服务器1通过与自定义用户代理的php CURL会话减去服务器2的客户机信息(如地址、电子邮件和电话号码),服务器2对此进行检查。服务器2提供一个JSON字符串 我想确定两件事:Php 通过curl和mcrypt在两台服务器之间建立链接,php,curl,mcrypt,Php,Curl,Mcrypt,我在两个地方有两台服务器。 服务器1通过与自定义用户代理的php CURL会话减去服务器2的客户机信息(如地址、电子邮件和电话号码),服务器2对此进行检查。服务器2提供一个JSON字符串 我想确定两件事: 如果有人嗅探我的包,它将看不到实际数据 如果有人试图调用服务器2上的php页面(使用正确的 用户代理)收到了一些对他们来说没有意义的东西 (例如:客户的电子邮件或电话号码) 在研究了不同的方法之后,我想在服务器2上加密JSON文本字符串;从服务器1获取curl;并使用共享密钥对其进行解密 我想
至于哪个密码,我真的帮不上忙。有一个google。与其实现自己的加密例程,我建议通过https从服务器2提供json数据,这将很好地解决加密问题 请注意,您不需要购买证书,您可以对server2进行自签名,并让server1中的curl允许“不安全”的https连接(不安全意味着证书不受信任,但数据仍然是加密的) 若要将允许从服务器2请求数据的用户列入白名单,请按ip列出白名单(如果可以)。另一种方法(或另外一种方法)是使用共享秘密的简单签名系统 为了举例说明,在服务器1发出请求时设置一个自定义http头(比如“我的签名”),并使用设置签名“算法”(下面是php中的简单示例): 然后,您可以设置请求标头:
My-Signature: $sig
你可以让你的签名系统复杂到你想要的程度。其思想是,server2知道相同的签名“配方”,可以从请求头、查询字符串和post有效负载中提取它所需的所有字段,并使用共享密钥计算其签名
将计算出的签名与My signature头中传递的签名进行比较,如果匹配,则为请求提供服务。如果没有,请提供403响应页面
My-Signature: $sig