我在我的网站上使用 Paypal 进行付款,当有人成功完成购买时,Paypal 调用我指定的 notify_url 并将一些 POST 数据传递给它。从 POST 我只使用 item_number 和 txn_id。
我用于 notify_url 的 URL 是公共 URL,任何人都可以访问它。如何确保只有 Paypal 可以请求此 URL 而其他所有人都被阻止?
我在我的网站上使用 Paypal 进行付款,当有人成功完成购买时,Paypal 调用我指定的 notify_url 并将一些 POST 数据传递给它。从 POST 我只使用 item_number 和 txn_id。
我用于 notify_url 的 URL 是公共 URL,任何人都可以访问它。如何确保只有 Paypal 可以请求此 URL 而其他所有人都被阻止?
仅允许 POST,并实施 IPN 文档中描述的回调验证。
正如@EJP 提到的,将验证发送回 PayPal 将允许您验证数据是否来自 PayPal,以便您知道它是合法的,但其他人仍然可以点击 URL。
如果您想完全阻止它们,您可以通过服务器上的 .htaccess 文件(假设您正在运行 Apache)或使用防火墙来实现。您只需要阻止 PayPal 的 IPN IP 地址以外的所有流量。
64.4.248.8
64.4.249.8
173.0.84.40
173.0.84.8
173.0.88.40
173.0.88.8
173.0.92.8
173.0.93.8