我的网页上有一个表单,允许客户输入一些数据。当用户提交表单时,我在服务器A中的PHP脚本现在添加了一些我不希望客户端能够查看并发布到我的服务器B支付系统的其他参数。我想做的事情看起来像我在其他一些问题中看到的那样:
Client --> Server A
Server A --> POST --> Server B
Client <------------------------ Server B
服务器B不需要任何会话或任何工作,它直接将用户带到他们将设置其支付数据的表单。我怎么能做到这一点?还有其他选择吗?
非常感谢。
答案 0 :(得分:1)
你正在尝试的是不可能的。服务器B不了解客户端,因此无法与客户端进行通信。你应该像这样构建它:
Client --> Server A
Server A --> POST --> Server B
Server A <-- REPLY <-- Server B
Client <-- Server A
在(伪)代码中,在服务器A上:
function handleRequest($postdata) {
$reply = sendPostToServerB($secrets);
return $reply;
}
$r = handleRequest($_POST);
$stufftosendtoclient = process($r);
echo $stufftosendtoclient;
当你这样做时,要小心时间问题。如果服务器B速度很慢,则可能会导致客户端出现问题。您可以尝试在Ajax调用中处理此问题,并为用户提供至少更多信息并控制正在发生的事情。