بارها شده برای استفاده از خدماتی مثل درگاه های بانکی نیاز بوده که آدرس IP سرور را به بانک یا شرکت دیگه ای بدیم. عموما فکر میکنیم وقتی از سایت ping بگیریم متوجه این آدرس خوهیم شد. مثلاً وقتی بزنیم ping geekfarsi.com به آدرس IP معادل 46.28.50.181 میرسیم و این آدرس را به عنوان IP سرور به بانک میدیم.
ولی این برداشت و نتیجهگیری روی سرویس های اشتراکی که از IP های اشتراکی استفاده میکنن همیشه درست نیست ، کلاً این فرضیه وقتی درسته که سرویس دهنده میزبان ما بر اساس تفکر ما عمل کرده باشه که خوب میتونه اینطور نباشه. اما حالا باید چیکار کنیم ؟! من یک کد نوشتم که با استفاده از سرویس سایت ipinfo.io میشه بهش درخواست داد تا آدرسی که ما را باهاش شناسایی میکنه مشخص کنه :
$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => 'http://ipinfo.io/json' )); $retval = curl_exec($curl); curl_close($curl); $info = json_decode($retval,true); echo $info['ip'];
حالا اگه این کد را روی سرور Geekfarsi بگذارم و اجراش کنم مقدار 46.28.50.180 را بر میگردونه که این همون IP آدرس درستی هست که باید در اختیار بانک بگذاریم.
توجه : اگه از سرویس های اختصاصی VPS یا سرویس های Shared با IP اختصاصی استفاده میکنید نیاز به این کار ندارین و IP همونی هست که شرکت میزبان به شما اختصاص داده و مقدراش با Ping هم برابره.