PayPal IPN向通知URL发送带有可变数量字段的POST请求,为了确认POST请求是合法的,我们需要将相同的请求以及另外的cmd = _notify-validate字段重新提交给PayPal,然后PayPal回复验证或无效.
我的问题是,为什么我们需要将请求重新发送给PayPal?这样的东西不会这样吗?
if (preg_match('~^(?:.+[.])?paypal[.]com$~i',gethostbyaddr($_SERVER['REMOTE_ADDR'])) > 0) { // request came from PayPal,it's legit. }
我们可以信任服务器正确解析IP,我认为我们可以信任来自PayPal的所有请求,不是吗?