【发布时间】:2011-05-20 14:37:18
【问题描述】:
我试图理解 HTTP 响应代码的概念,但有些困惑。
我有一个从支付网关接收付款的网站。客户被重定向到网关站点,然后在付款后网关重定向回我的站点的回调函数。
这一切都很好,但是问题是我网站的回调函数获取响应代码并将其重定向到成功或失败页面。
支付网关被传回由此发生的“302”重定向标头,并认为这是一个安全风险,即使它是一个内部重定向,没有传递任何数据(因为 302 不保留 POST/GET 变量反正)。所以它取消了付款。
但实际上,当网关点击我的回调函数时,不应该发回 200,因为它被发现了,我认为它会被发回网关并满足他们。从那时起,无论内部发生什么,他们都不应该关心或知道。但似乎在到达最终着陆页并且页面执行停止之前不会发送 200。
我发现“欺骗”网关的唯一解决方法是使用 javascript 重定向或元重定向,因为它不会传回重定向标头代码。但是有没有更好的方法或者我应该做一些不同的事情?
【问题讨论】:
-
“重定向回我网站的回调函数”完全没有意义。你能更好地描述这里发生的事情吗?他们是否与客户端会话分开发布数据?还是该数据会返回到您的脚本客户端?告诉我们发生了什么,也许我们可以提供更好的帮助。
-
谁在点击回调函数?支付处理器,还是支付处理器将用户重定向到回调页面?
标签: php http redirect httpresponse