【问题标题】:Ensure paypal return page coming from Paypal确保贝宝返回页面来自贝宝
【发布时间】:2011-09-10 03:18:15
【问题描述】:

关于我的问题和上一个帖子的精彩答案, Redirection / Return Check in PHP

我也想知道,如果付款确认页面从 PayPal 返回到我的网站,我如何 100% 确定它来自 paypal 并且付款已完成?

问候, 安迪

【问题讨论】:

    标签: php paypal


    【解决方案1】:

    为确保请求来自 PayPal,您可以尝试解析 IP 地址:

    if (preg_match('~^(?:.+[.])?paypal[.]com$~', gethostbyaddr($_SERVER['REMOTE_ADDR'])) > 0)
    {
        // came from PayPal
    }
    

    您也可以(并且应该)使用您在 POST 中收到的相同数据请求 https://www[.sandbox].paypal.com/cgi-bin/webscr/ 并将 cmd => _notify-validate 键值对附加到请求中,如果响应是 VERIFIED 数据有效。

    另请参阅此问题:PayPal IPN Security

    【讨论】:

    • 这对我不起作用,remote_addr 显示的是机器 IP 地址,有什么帮助吗?
    • @cherhan:哪台机器?你的?如果是这样,那是因为您是请求该页面的人,而不是 PayPal。
    • @Dugi:是的,确实如此。干杯!
    猜你喜欢
    • 2013-05-23
    • 2014-06-11
    • 2016-01-10
    • 2016-11-06
    • 2014-06-30
    • 2015-10-16
    • 2010-12-25
    • 2014-08-29
    • 2023-03-16
    相关资源
    最近更新 更多