Re: [請益] Get client ip

看板PHP作者 (.......................)時間15年前 (2009/06/19 03:30), 編輯推噓1(106)
留言7則, 1人參與, 最新討論串3/9 (看更多)
※ 引述《roga (任性)》之銘言: : ※ 引述《fillmore (.......................)》之銘言: : : $_SERVER ['REMOTE_ADDR']; : : $GLOBALS['REMOTE_ADDR']; : : 以上兩個結果都是server 的ip : : 不知道如果要顯示成client ip : : 請問該做何設定?? : : 沒辦法判斷正確的client ip : $ip1 = getenv("REMOTE_ADDR"); : $ip2 = getenv("HTTP_X_FORWARDED_FOR"); : $ip3 = getenv("HTTP_CLIENT_IP"); : 把 $ip1, $ip2, $ip3 都印出來看看不就好惹 @@ 重點就在於 getenv("REMOTE_ADDR") = 永遠都是server的ip 當其他變數HTTP_X_FORWARDED_FOR......等都不work的時候 最後都看REMOTE_ADDR的結果 我認知沒錯巴???我看過很多版本的get client ip的版本了 最後都看REMOTE_ADDR的結果 但是偏偏REMOTE_ADDR的結果永遠都是server的ip 所以判斷一定是會有錯誤@@" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.61.173

06/19 03:34, , 1F
這是因為如果其他變恕不存在的話,REMOTE_ADDR就是你
06/19 03:34, 1F

06/19 03:35, , 2F
要的IP。在你的環境上REMOTE_ADDR可能永遠都是Server
06/19 03:35, 2F

06/19 03:36, , 3F
的IP,但在別人的、或說是沒有其他變數的環境上,
06/19 03:36, 3F

06/19 03:36, , 4F
REMOTE_ADDR就是訪客的IP。
06/19 03:36, 4F

06/19 03:44, , 5F
你認為判斷一定會有錯誤的原因,是因為你假設在使用
06/19 03:44, 5F

06/19 03:44, , 6F
proxy之時,可能仍然沒有其他變數。但正常來說並不會
06/19 03:44, 6F

06/19 03:45, , 7F
如此。
06/19 03:45, 7F
文章代碼(AID): #1AEfNMV1 (PHP)
討論串 (同標題文章)
文章代碼(AID): #1AEfNMV1 (PHP)