Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337770
  • 博文数量: 206
  • 博客积分: 1040
  • 博客等级: 少尉
  • 技术积分: 1756
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-09 17:22
文章分类

全部博文(206)

文章存档

2015年(3)

2014年(147)

2013年(2)

2012年(54)

我的朋友

分类:

2012-05-11 12:06:26

原文地址:php客户端ip 作者:jiajiaquanzxc

  1.   
  2. unset($onlineip);  
  3.   
  4. if($_SERVER['HTTP_CLIENT_IP']){  
  5.      $onlineip=$_SERVER['HTTP_CLIENT_IP'];  
  6. }elseif($_SERVER['HTTP_X_FORWARDED_FOR']){  
  7.      $onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];  
  8. }else{  
  9.      $onlineip=$_SERVER['REMOTE_ADDR'];  
  10. }  
  11.   
  12. echo $onlineip;  
  13.   
  14. ?>

在PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取。

'HTTP_CLIENT_IP'是用户的IP,'HTTP_X_FORWARDED_FOR'是代理的IP
这些IP头消息未必能够取得到(因为不同的浏览器不同的网络设备,可能发不同的IP头消息).所以PHP就尝试把每个IP头消息判断一下,若有,则取其中的一个.

阅读(288) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~