gpt4 book ai didi

php - 重定向 HTTP 表单帖子

转载 作者:太空狗 更新时间:2023-10-29 13:50:34 25 4
gpt4 key购买 nike

背景知识:我在公共(public)网站上有一个表单,需要将数据发布到防火墙后面的 Apache 服务器。我不想提供从 Internet 到此 Webhost 的直接访问权限。

目前这就是我正在做的事情: 我的 DMZ 中有一个 IIS 服务器。这个IIS服务器是唯一允许通过防火墙访问Apache服务器的IP。作为临时解决方案,我设置了带有“应用程序请求路由”的 IIS,以通过 IIS 将 Apache 框呈现到 Internet。

我想做的事:有一些方法可以捕获然后转发表单,而无需将 Apache 框呈现给 Internet。这里的技巧是 POST 将来自互联网上的任何地方,被 IIS 服务器抓取,然后从 IIS 服务器中继到 apache 框。我研究过用 PHP/cURL 来做这件事,但我不确定使用这样的东西是否能达到目的:

<?php

$todo = "";

while (list($name, $value) = each($HTTP_POST_VARS)) {
$todo.=$name."=".$value."&";
}

$ch = curl_init('http://mylanserver/capture.php');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $todo);
curl_exec ($ch);
curl_close ($ch);
?>

有人能指出我正确的方向吗?谢谢。

最佳答案

我包含的第一条语句工作正常,但没有传递在我的表单上有多个选择选项的值。它只是在字段中填充“Array”。我通过这样做纠正了这一点:

$postParams = file_get_contents("php://input"); 


$ch = curl_init('http://mysite/capture.php');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postParams);
curl_exec ($ch);
curl_close ($ch);

然后我需要将客户端重定向到“谢谢”页面,我的后端程序正在发送此数据,但我无法让 cURL 使用它,我通过执行 header 刷新和设置解决了这个问题值为 1。像这样:

header("refresh:1;url=http://mythankyoupage");  

感谢您的帮助!

关于php - 重定向 HTTP 表单帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13091257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com