PHP利用HTTP_X_FORWARDED_FOR抓取訪客ip

一般做訪客計數器時,
大多都會利用PHP的$SERVER['REMOTE_ADDR']來抓取訪客的IP位址;
可是在書上發現REMOTE_ADDR不能抓取到有經過proxy(代理伺服器)訪客的真實IP,
所以搭配利用$SERVER['HTTP_X_FORWARDED_FOR']
它可以將所有訪客主機經過的代理主機IP記錄下來
便可以抓到有經過proxy訪客的真實IP

//先判斷HTTP_X_FORWARDED_FOR是否存在
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
  //存在的話將HTTP_X_FORWARDED_FOR拆解取出第一個IP即可
  $proxy_ip = split(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
  $ip = $proxy_ip[0];
}else
{
  //不存在則使用REMOTE_ADDR來得到訪客IP
  $ip = $_SERVER['REMOTE_ADDR'];
}
原文链接:http://pixnet.webber.twgg.org/blog/post/12185952-php%E5%88%A9%E7%94%A8http_x_forwarded_for%E6%8A%93%E5%8F%96%E8%A8%AA%E5%AE%A2ip

猜你喜欢

转载自blog.csdn.net/pksport/article/details/80583022