Php PayPal IPN安全性已验证

Php PayPal IPN安全性已验证,php,https,paypal,payment,paypal-ipn,Php,Https,Paypal,Payment,Paypal Ipn,有一个PayPal IPN PHP示例代码 有人能告诉我它是如何安全的,因为我不明白 我有一家网店。我没有https 在我们的网站上从PayPal接收数据 此数据未加密,因为我的站点位于http上。我说得对吗? 所以(如果它没有加密)一些黑客可以改变它 我们发送https请求以验证我们在paypal上的付款 PayPal使用http(非https)回答无效,所以黑客可以在验证后再次更改。黑客获利 请告诉我,我的错误在哪里。我很困惑,因为其他支付系统使用的是SecretKey,然后你应该验证他们发

有一个PayPal IPN PHP示例代码

有人能告诉我它是如何安全的,因为我不明白

我有一家网店。我没有https

  • 在我们的网站上从PayPal接收数据 此数据未加密,因为我的站点位于http上。我说得对吗? 所以(如果它没有加密)一些黑客可以改变它
  • 我们发送https请求以验证我们在paypal上的付款
  • PayPal使用http(非https)回答无效,所以黑客可以在验证后再次更改。黑客获利

  • 请告诉我,我的错误在哪里。我很困惑,因为其他支付系统使用的是
    SecretKey
    ,然后你应该验证他们发送的哈希值。

    你的错误在第3步;您正在通过HTTPS(确切地说)将数据发送回PayPal,PayPal在同一(SSL安全)连接上发送HTTP响应,响应无效/已验证。
    只要确保验证提供给您的SSL证书,如果收到“已验证”的响应,您就可以放心数据是真实的

    顺便说一句,默认的IPN(PHP)示例代码强制证书和cn验证

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    
    只要确保在使用时指定一个您信任的CA包,就可以很好地使用它。
    另请参见

    为什么此问题被标记为完全不相关问题的重复?