« 讓 MSN 7 顯示歌曲名稱支援 Foobar2000、WinAMP MSN Messenger 7 表情符號教學 »

五月12

[PHP] 取得使用者真實 IP

tags | 1,913 views


一般在取得使用者 IP 都是利用 $_SERVER['REMOTE_ADDR'] 這個環境變數,但是此變數只會紀錄最後一個主機 IP,所以當使用者瀏覽器有設定 Proxy 時,就無法取得他的真實 IP。
這時可以使用另一個環境變數 $_SERVER['HTTP_X_FORWARDED_FOR'] ,它會紀錄所經過的主機 IP,但是只有在使用者有透過 Proxy 時才會產生,所以可以像以下這樣寫來取得使用者真實 IP。

<?php
if (empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    
$myip = $_SERVER['REMOTE_ADDR'];
} else {
    
$myip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    
$myip = $myip[0];
}
echo $myip;
?>
Trackback:

Leave a Reply