PHP代码如何实现获取真实IP和代理IP
来源:互联网 发布:配电网负荷数据 编辑:程序博客网 时间:2024/04/28 07:04
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使用的代理(有可能存在,也可以伪造)
代理服务器分为透明代理和匿名代理
透明代理会将客户端的请求IP包含在HTTP头中,具体就是$_SERVER['HTTP_X_FORWARDED_FOR']中匿名代理将客户端的IP隐藏起来,IP信息只能在$_SERVER['REMOTE_ADDR']找咯以下是网上的资料:
一、没有使用代理服务器的情况:
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。
完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。
- PHP代码如何实现获取真实IP和代理IP
- PHP代码如何实现获取真实IP和代理IP
- 转】c#如何获取真实IP和代理IP
- c#获取真实IP和代理IP
- php获取客户端真实IP 防止代理和作弊
- PHP获取如何获取真实IP
- PHP获取用户的真实IP地址,非代理IP
- PHP获取真实IP
- PHP如何获取客户端真实IP
- PHP如何获取客户端真实IP地址?
- 获取真实IP和代理IP (asp.net C#)
- (转)c#获取真实IP和代理IP
- 透过代理获取真实ip
- 配置Nginx方向代理后,php获取客户端真实IP
- 如何突破代理获取客户的真实IP
- nginx反向代理后应用程序如何获取客户端真实IP?
- nginx代理后如何获取request的真实ip
- Nginx如何保留真实IP和获取前端IP
- 畅游Aarch64最方便的方法
- shell中的${},##和%%的使用
- object、param标签及页面显示PDF文件的方法
- Android面试必须要知道的事情
- qt二维码示例
- PHP代码如何实现获取真实IP和代理IP
- hduoj2042(不容易系列之二)
- Android ListView从网络获取图片及文字显示
- php开发常用代码片段(一)
- IIS不能对网站添加默认文档(由于权限不足而无法写入配置文件)
- HTML网页中的html body onload自动跳转方法介绍及自动跳转代码示例
- U-BOOT与内核之间的参数传递
- hduoj2098(分拆素数和)
- haproxy+keepalived实现高可用负载均衡