Validation 使用队列时何时验证paypal IPN?

Validation 使用队列时何时验证paypal IPN?,validation,paypal,queue,paypal-ipn,paypal-adaptive-payments,Validation,Paypal,Queue,Paypal Ipn,Paypal Adaptive Payments,建议何时验证paypal IPN 选项1-在处理程序ipn post期间进行验证,然后保存ipn并将其排队(如果有效) 优点:攻击者无法通过发送假IPN填充您的数据库 缺点: ipn post需要更长的响应时间,因为您需要 在能够在ipn处理程序中以200 OK响应之前,发出web请求进行验证 攻击者可以让您的web服务器忙于验证假IPN 选项2延迟验证,保存并将ipn排队,用200响应,然后在处理队列时进行验证 优点:快速响应paypal IPN 缺点:攻击者可以通过发送假IPN来填

建议何时验证paypal IPN

选项1-在处理程序ipn post期间进行验证,然后保存ipn并将其排队(如果有效)

  • 优点:攻击者无法通过发送假IPN填充您的数据库
  • 缺点:
    • ipn post需要更长的响应时间,因为您需要 在能够在ipn处理程序中以200 OK响应之前,发出web请求进行验证
    • 攻击者可以让您的web服务器忙于验证假IPN
选项2延迟验证,保存并将ipn排队,用200响应,然后在处理队列时进行验证

  • 优点:快速响应paypal IPN
  • 缺点:攻击者可以通过发送假IPN来填充您的数据库
或者你有没有其他的方法来避免这两个选项的问题


编辑:我正在使用Paypal Adaptive Payments API,我想知道使用该API时推荐的做法是什么。

Paypal现在支持发送共享机密,而不是回发验证。如果(a)您的按钮在发布时使用HTTPS,并且(a)您的
notify\u url
使用HTTPS,我更愿意这样做


回发验证有许多问题,首先是要求以相同的顺序使用相同的POST变量。这是不可实现的,例如在您没有那种控制级别的servlet中。但事实上,这似乎并不重要,这让人对该过程的其他安全方面产生了怀疑。

感谢您提供的信息,这是我第一次听说共享机密。这是否适用于Paypal自适应支付API?快速搜索显示需要“加密网站支付”,我只能在paypal按钮的上下文中找到相关文档,但如果它与Adaptive Payments API兼容,我想使用共享机密。我今天才发现这一点。我没有得到的印象,加密的网站付款是必需的,只是建议。在新的IPN文档中有记录。