如何保护两个CakePHP应用程序之间的post请求


How to secure post request between two CakePHP application

我在两台不同的服务器上创建了两个CakePHP应用程序。

应用程序A需要在POST中使用curl:发送一个数据数组给应用程序B
$ch = curl_init();  
curl_setopt($ch,CURLOPT_URL,"http://example.com/application_B");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_POST, count($data));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  
$output=curl_exec($ch);
curl_close($ch);

确保应用程序应用程序B不会接受来自应用程序A的任何其他请求的最佳实践是什么?检查IP地址是否足够?或者CakePHP已经内置了这样做的方法?

PS:我知道HttpSocket在CakePHP比CURL更好,但我的应用程序A使用CakePHP 1.1(不是我的意愿)

有几种方法可以做到这一点。Cake不提供任何,只有验证适配器来检查某些验证系统。

首先在应用之间使用HTTPS连接。禁用API的HTTP

可以使用user/pass和令牌来使用无状态认证。通过发送用户/通行证请求令牌,并获得一个绑定到请求它的IP的限时令牌。您的认证适配器将处理请求。

正如burzum所说,有很多方法。一个非常非常简单的方法是在两个应用程序上都使用键字符串值。在应用程序A上使用此键对post数据进行散列,并将散列值与数据数组一起传递。然后在应用程序B上再次散列数据(不带散列值)。比较两个散列。如果哈希值相同,则数据是正确的