微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 重定向HTTP表单帖子

一点背景:
我在公共网站上有一个表单需要将数据发布到防火墙后面的Apache服务器上.我不想通过互联网直接访问此虚拟主机.

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

*我想做什么:*有一些方法来捕获然后传递表单,而不必将Apache框呈现给互联网.这里的诀窍是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);
?>

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

我包含的第一个语句工作正常,但没有传递在我的表单上有多个选择选项的值.它只是在字段中填充“数组”.我通过这样做纠正了这个问题:
$postParams = file_get_contents("PHP://input"); 


$ch = curl_init('http://mysite/capture.PHP');
curl_setopt ($ch,$postParams);
curl_exec ($ch);
curl_close ($ch);

然后我需要将客户端重定向到“谢谢”页面,我的后端程序正在发送这些数据,但我无法使cURL与它一起工作,我通过执行标头刷新并将值设置为1.像这样:

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

谢谢您的帮助!

原文地址:https://www.jb51.cc/php/137187.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐