php获取真实ip地址原理及实现
2017-09-25 14:24
337 查看
1、HTTP_X_FORWARDED_FOR 是用户到达最终访问地时经过的路径访问点(包括自身和使用的多层代理)的IP列表。依然取决于代理的设置,可通过http头伪造
2、HTTP_CLIENT_IP 是代理服务器设置发送的HTTP头,代表你的客户端的真实IP。当然,人家可以选择设置与否以及设置成什么样。可通过http头伪造
3、REMOTE_ADDR 是你的客户端跟服务器“握手”时候的IP。如果使用代理,REMOTE_ADDR将显示代理服务器的IP。可能是用户真实IP也可能是代理IP
获取ip地址的两个方法:
1.超级全局变量$_SERVER[”]
2getenv()函数获取环境变量的值。(注意这个函数不支持IIS下的php)
http://www.cnblogs.com/sunke/p/5594653.html
2、HTTP_CLIENT_IP 是代理服务器设置发送的HTTP头,代表你的客户端的真实IP。当然,人家可以选择设置与否以及设置成什么样。可通过http头伪造
3、REMOTE_ADDR 是你的客户端跟服务器“握手”时候的IP。如果使用代理,REMOTE_ADDR将显示代理服务器的IP。可能是用户真实IP也可能是代理IP
获取ip地址的两个方法:
1.超级全局变量$_SERVER[”]
2getenv()函数获取环境变量的值。(注意这个函数不支持IIS下的php)
// 获取IP地址(摘自discuz) function getIp(){ $ip='未知IP'; if(!empty($_SERVER['HTTP_CLIENT_IP'])){ return is_ip($_SERVER['HTTP_CLIENT_IP'])?$_SERVER['HTTP_CLIENT_IP']:$ip; }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ return is_ip($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$ip; }else{ return is_ip($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:$ip; } } function is_ip($str){ $ip=explode('.',$str); for($i=0;$i<count($ip);$i++){ if($ip[$i]>255){ return false; } } return preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/',$str); }
下面我附上我的源码: <?php function get_real_ip(){ if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknow")){ $ip = getenv("HTTP_CLIENT_IP"); }else if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknow")){ $ip = getenv("HTTP_X_FORWARDED_FOR"); }else if(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknow")){ $ip = getenv("REMOTE_ADDR"); }else if(isset($_SERVER["REMOTE_ADDR"]) && $_SERVER["REMOTE c2ab _ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"],"unknow")){ $ip = $_SERVER["REMOTE_ADDR"]; }else{ $ip = "unknow"; } return $ip; } echo get_real_ip(); ?>
http://www.cnblogs.com/sunke/p/5594653.html
相关文章推荐
- php获取真实ip地址原理及实现
- php获取真实ip地址原理及实现
- PHP获取客户端真实IP地址的5种情况分析和实现代码
- PHP获取真实IP地址方法及原理
- PHP获取客户端真实IP地址的5种情况分析和实现代码
- php获取本机真实IP地址实例代码
- PHP获取用户真实IP地址
- php 获取客户端的真实ip地址 通过第三方网站
- php获取本机真实IP地址实例代码
- C#获取真实IP地址实现方法
- php中获取远程客户端的真实ip地址的方法
- php获取ip地址所在的地理位置的实现
- PHP如何获取客户端真实IP地址?
- PHP 实现获取服务器端IP地址
- php获取真实IP地址
- PHP根据IP地址获取所在城市具体实现
- PHP 实现获取服务器端IP地址
- PHP 获取客户端真实的ip地址
- PHP根据IP地址获取所在城市具体实现
- php实现获取IP地址所在地