【问题标题】:Can PayPal IPN Notification POST be faked?PayPal IPN 通知 POST 可以伪造吗?
【发布时间】:2013-10-13 13:26:04
【问题描述】:

我有一个 paypal 的 ipn 文件,每当进行交易时,paypal 都会向我发送通知,一旦进行了交易并且 paypal 向我发送通知到我的 php 文件,我就会开始处理该交易。

用户支付 -> Paypal 将带有 POST 交易值的通知发送到我的 php 文件 -> 正在处理交易

我的问题是,这个 POST 值可以从其他地方发送真实的 Paypal 吗?就像有人会将虚假的帖子值发送到我的 ipn php 文件中,我的脚本会认为是 paypal 并开始处理虚假交易。

【问题讨论】:

    标签: php paypal paypal-ipn


    【解决方案1】:

    如果您验证您的 IPN 呼叫,那么不,它们不能被伪造。 https://developer.paypal.com/webapps/developer/docs/classic/ipn/ht_ipn/

    【讨论】:

      【解决方案2】:

      理论上,Paypal IPN 消息可能是伪造的,但通知过程包含一个验证步骤,允许您验证 IPN 消息。

      这是流程,取自Paypal developer page

      IPN消息认证协议由四个步骤组成:

      1. PayPal HTTP 向您的听众发送一条 IPN 消息,通知您发生了事件。
      2. 您的侦听器向 PayPal 返回一个空的 HTTP 200 响应。
      3. 您的侦听器 HTTP 将完整的、未更改的消息发送回 PayPal;消息必须包含与原始消息相同的字段(以相同的顺序),并以与原始消息相同的方式进行编码。
      4. PayPal 会返回一个单词 - 已验证(如果消息与原始消息匹配)或无效(如果消息与原始消息不匹配)。

      【讨论】:

      • 没错。第 3 步和第 4 步确保您正在验证的 IPN 消息是来自 PayPal 的真实 IPN 消息。当然,您需要自己检查诸如 receiver_email 之类的内容,以便与您的帐户匹配。
      猜你喜欢
      • 2014-02-05
      • 1970-01-01
      • 2012-07-08
      • 2016-02-19
      • 2014-05-02
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多