作者fillmore (.......................)
看板PHP
標題Re: [請益] Get client ip
時間Fri Jun 19 03:30:28 2009
※ 引述《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
推 bcse :這是因為如果其他變恕不存在的話,REMOTE_ADDR就是你 06/19 03:34
→ bcse :要的IP。在你的環境上REMOTE_ADDR可能永遠都是Server 06/19 03:35
→ bcse :的IP,但在別人的、或說是沒有其他變數的環境上, 06/19 03:36
→ bcse :REMOTE_ADDR就是訪客的IP。 06/19 03:36
→ bcse :你認為判斷一定會有錯誤的原因,是因為你假設在使用 06/19 03:44
→ bcse :proxy之時,可能仍然沒有其他變數。但正常來說並不會 06/19 03:44
→ bcse :如此。 06/19 03:45