我试图找到适用于以下情况的跨浏览器实现。
用户完成我们的某个在线应用程序,并被重定向到外部在线支付系统。他们输入银行详细信息,然后重定向回我们的应用程序,并在其中显示确认消息。
现在,如果用户按下浏览器的后退按钮,他们就会被带回外部银行网站,在那里他们可以再次输入他们的银行详细信息。通常情况下,银行会注意到同一订单会收到第二笔付款,并且不会对它们进行双重收费,但有时旧版浏览器会让双笔付款通过。我相信我们可以在银行详细信息页面添加一些客户端代码,但无法添加任何服务器端逻辑。
这个问题有标准解决方案吗?
答案 0 :(得分:-1)
是的,您可以在确认页面上执行额外的重定向,例如在顶部:
if(!isset($_GET['x'])){
header("Location: ./?x=x");
exit();
}
然后,如果用户按下,他们将点击同一页面,没有获取变量,并再次被重定向