我怎么能强迫一个页面被隐藏从直接访问,只能从贝宝重定向访问


How Can i Force A page to be hidden from direct access and can only be accessed from paypal redirect?

谁能帮帮我?正如标题所说,我有一个用户使用paypal购买的订单页面,支付完成后,用户被重定向到form.php。我的问题是,我可以直接访问form.php!!我怎样才能使它只能从贝宝访问成功付款?我知道我必须使用IPN或DPT,但我应该在我的form.php中写什么,以便我可以检查支付是否成功,用户是否可以访问此页面?伙计们,我需要你们的帮助!有人能写这个缺失的代码吗?

没有办法通过简单的重定向来验证付款是否已经完成。你"可以"检查推荐人,但这很容易被欺骗。

对于一个可靠的验证,你需要使用Paypal的IPN。

  • 在您的SetExpressCheckout呼叫中添加一些独特的和即将到期的变量,您可以将其视为ReturnUrl中的"即将到期的会话"(甚至可以使用会话,如果适合您的需要)。

  • Paypal将在这些变量重定向(以及预期的tokenpayerid)时将这些变量回显给您

  • ReturnUrl中验证" expires session"变量

    • 如果无效/不存在,按您认为适当的方式处理(例如,重定向到某处,错误消息等)

所以从本质上讲,只有当对它的请求是"有效的"(根据您如何定义"有效的")时,您才能使页面"可访问"。

Hth…