參考網址:Linux 技術手札
要用 PHP 取得用戶的 IP 十分容易,只要用 $_SERVER[‘REMOTE_ADDR’] 變數就可以知道用戶的 IP,但如果用戶使用了 proxy server 上網的話,$_SERVER[‘REMOTE_ADDR’] 只會得到 proxy 的 IP 地址。
以下方法會使用 $_SERVER[“HTTP_CLIENT_IP”] 及 $_SERVER[“HTTP_X_FORWARDED_FOR”] 解決這個問題:
<?php if (!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; }elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){ $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; }else{ $ip = $_SERVER["REMOTE_ADDR"]; } echo $ip; ?>