如果有使用 Paypal 的話,那你就需要知道 PayPal 所使用的 IP 範圍。特別是如果你有使用 IPN (instance payment notification) 的話,那就特別需要設 IP 白名單了~!
可以到以下網址查相關 IP
Live PayPal servers
(IPN 用到的是 notify.paypal.com)
Sandbox PayPal servers
https://ppmts.custhelp.com/app/answers/detail/a_id/250/kw/end%20points/related/1
https://ppmts.custhelp.com/app/answers/detail/a_id/250/kw/end%20points/related/1
不過其實 PayPal 的建議是用 ip 反查的方式,但是如果你前面有擋 CDN 或是 reverse proxy 的話,就需要另外處理了!!
IP 反查方式
if (preg_match('~^(?:.+[.])?paypal[.]com$~', gethostbyaddr($_SERVER['REMOTE_ADDR'])) > 0) { // called from paypal }