2013年8月15日 星期四

PHP 取得用戶真實 IP

要用 PHP 取得用戶的 IP 十分容易,只要用 $_SERVER['REMOTE_ADDR'] 變數就可以知道用戶的 IP,但如果用戶使用了 proxy server 上網的話,$_SERVER['REMOTE_ADDR'] 只會得到 proxy 的 IP 地址。
以下方法會使用 $_SERVER["HTTP_CLIENT_IP"] 及 $_SERVER["HTTP_X_FORWARDED_FOR"] 解決這個問題:
PHP:
  1. if (!empty($_SERVER["HTTP_CLIENT_IP"])){
  2.     $ip = $_SERVER["HTTP_CLIENT_IP"];
  3. }elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
  4.     $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  5. }else{
  6.     $ip = $_SERVER["REMOTE_ADDR"];
  7. }
  8. echo $ip;
  9. ?>

文章出處 網路技術日誌

沒有留言:

張貼留言