2011-06-07 109 views

回答

1

要确保请求来自PayPal来,你可以尝试解析IP地址:

if (preg_match('~^(?:.+[.])?paypal[.]com$~', gethostbyaddr($_SERVER['REMOTE_ADDR'])) > 0) 
{ 
    // came from PayPal 
} 

你可以(也应该)还要求https://www[.sandbox].paypal.com/cgi-bin/webscr/使用相同的数据的在POST中收到,并将cmd =>_notify-validate键值对添加到请求中,如果响应为VERIFIED,则数据有效。

也看到这个问题:PayPal IPN Security

+0

这并没有为我工作,该REMOTE_ADDR显示本机的IP地址,而不是,任何帮助吗? – cherhan 2011-06-08 04:04:27

+0

@cherhan:哪台机器?你的位置?如果是这样,那是因为你是请求页面的人,而不是PayPal。 – 2011-06-08 05:52:52

+0

这是否也适用于“sandbox.papypal.com”? – Aborted 2012-09-07 06:54:02