看板 PHP 關於我們 聯絡資訊
※ 引述《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