PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
来源:互联网 发布:相册视频制作软件 编辑:程序博客网 时间:2024/05/21 11:21
REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。
HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。
$_SERVER['REMOTE_ADDR']; //访问端(有可能是用户,有可能是代理的)IP
$_SERVER['HTTP_CLIENT_IP']; //代理端的(有可能存在,可伪造)
$_SERVER['HTTP_X_FORWARDED_FOR']; //用户是在哪个IP使用的代理(有可能存在,也可以伪造)
三个值区别如下:
一、没有使用代理服务器的情况:
REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
二、使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。
三、使用普通匿名代理服务器的情况:Anonymous Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。
四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。
五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。
- //获取用户真实IP
- function getIp() {
- if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
- $ip = getenv("HTTP_CLIENT_IP");
- else
- if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
- $ip = getenv("HTTP_X_FORWARDED_FOR");
- else
- if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
- $ip = getenv("REMOTE_ADDR");
- else
- if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
- $ip = $_SERVER['REMOTE_ADDR'];
- else
- $ip = "unknown";
- return ($ip);
- }
- echo getIp();//结果:您的IP是:221.223.234.138
- PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- PHP获得真实客户端的真实IP
- PHP获得客户端真实的IP地址
- php获得客户端真实ip
- REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR 获取用户IP
- php邮件系统 REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR解释
- REMOTE_ADDR HTTP_CLIENT_IP HTTP_X_FORWARDED_FOR
- REMOTE_ADDR、HTTP_CLIENT_IP与HTTP_X_FORWARDED_FOR
- REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- 【转】REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- php $_SERVER[''REMOTE_ADDR'] 获取IP并不真实
- 获得客户端真实IP地址的方法
- 获得客户端真实IP地址的方法
- 获得客户端真实IP的方法
- 数据结构--排序
- win10 重置子系统ubuntu
- Django ipython autoreload
- 好用的图片选择器,支持单选多选,相册里面又拍照
- 友盟推送错误码2027
- PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
- 关于地图偏移问题的解答
- Method Swizzling 原理(方法搅拌?)
- 用以下三个方法让网站见不到负面
- 背包问题
- 动态渲染easyui
- 函数默认参数
- Synopsys全系列工具简介
- ORACLE SELECT INTO防止没结果时报错