我正在实施一个 PayPal IPN 页面,并希望检查以确保请求真正来自 PayPal 并且没有被欺骗。我会假设 HTTP_REFERRER 不是检查的好方法吗?我试过这种方法,变量只是空的。
有没有办法检查帖子的来源?也许在 HTTP 请求标头中?
以及相关的旁注。从安全的角度来看,这种方法有多可靠?
那将是完全不可靠的,因为有人可以像欺骗请求一样容易地欺骗 Referer 字段。
您需要做的是使用 PayPal 记录的 IPN 验证协议,其中包括使用 cmd=_notify-validate 将 IPN 通知发回 PayPal。有关详细信息,请参阅PayPal IPN 文档。
这个变量有拼写错误,实际上是拼写的$_SERVER['HTTP_REFERER']
。因此,请确保您检查正确。
从安全的角度来看,这是完全可以伪造的,所以不要只依赖它。
PayPalverify_sign
会在所有 IPN 帖子中附加一个。