我A伺服器上有a.php,然後用B伺服器上的b.php傳參給a.php,如何讓a.php知道B的IP地址,謝謝
回複討論(解決方案)
$_SERVER['REMOTE_ADDR'] 擷取請求方的IP
$_SERVER['REMOTE_ADDR'] 擷取請求方的IP
試過了 這個只能取當前開啟瀏覽器的電腦的IP,我的請求是程式在後台發的
你如何請求 b.php 的?
你如何請求 b.php 的?
file_get_contents
gethostbyname 得到指定的Internet主機名稱對應的IP地址
例:
echo gethostbyname('bbs.csdn.net'); //117.79.157.198
gethostbyname 得到指定的Internet主機名稱對應的IP地址
例:
echo gethostbyname('bbs.csdn.net'); //117.79.157.198
我想只讓指定的主機IP訪問,你這樣只能獲得某一台IP,但我不知道對方是哪台伺服器在提交申請
我A伺服器上有a.php,然後用B伺服器上的b.php傳參給a.php,如何讓a.php知道B的IP地址,謝謝
$_SERVER[SERVER_ADDR]
我A伺服器上有a.php,然後用B伺服器上的b.php傳參給a.php,如何讓a.php知道B的IP地址,謝謝
$_SERVER[SERVER_ADDR]
這個取到的還是B伺服器的IP啊,我要取A服務
本帖最後由 xuzuning 於 2013-07-01 16:01:52 編輯
#0: 如何讓a.php知道B的IP地址
#8: 還是B伺服器的IP啊,我要取A服務
你先想清楚了再提問!
#0: 如何讓a.php知道B的IP地址
#8: 還是B伺服器的IP啊,我要取A服務
你先想清楚了再提問!
不好意思 隔了三天我搞錯了 ,是A要取B的地址 = = $_SERVER[SERVER_ADDR]以上方法要建立在B伺服器把IP傳給A的情況下才成功,但是對方能傳假的值
那用 gethostbyname 取得的 ip 為什麼就不行呢?
那用 gethostbyname 取得的 ip 為什麼就不行呢?
我是一個儲值平台,我為了防止合作商私下接入所以要規定白名單 只有白名單裡的IP請求才有效,這樣。。
gethostbyname 的參數是網域名稱,返回的是相應的主機的ip
如果連這個都不可信的話,那我就無語了
gethostbyname 的參數是網域名稱,返回的是相應的主機的ip
如果連這個都不可信的話,那我就無語了
這個是可信的,不用這個的原因是我知道某IP肯定是我們的合作商,但是要是第三方介入的話 我既不知道他的網域名稱也不知道他的IP 就沒法判斷了
你如何請求 b.php 的?
file_get_contents 我既不知道他的網域名稱也不知道他的IP
那你怎麼 file_get_contents ?
你如何請求 b.php 的?
file_get_contents 我既不知道他的網域名稱也不知道他的IP
那你怎麼 file_get_contents ?
這句是寫在B伺服器上的 ,這台伺服器不是我的,所以要是靠他傳值的話 不能確定真假,要從我自己的伺服器A擷取B的請求地址才行
親,file_get_contents可以在A機器上擷取B的地址的,這個函數還可以用來判斷一個網域名稱是不是真的存在
上面說錯了,是gethostbyname函數
上面說錯了,是gethostbyname函數 這函數前提是你要知道對方的網域名稱呀 ,現在我不知道請求方的網域名稱
那一般就是看$_SERVER變數的REMOTE_ADDR,HTTP_X_FORWARDED_FOR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR這些參數了
那一般就是看$_SERVER變數的REMOTE_ADDR,HTTP_X_FORWARDED_FOR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR這些參數了 所以說使用哪個。。。我不是很熟
繼續求。。。。。。
好的 。。。找到原因了 謝謝樓上各位