高仿ip如何获取访问用户的真是IP地址
通过代理商之后,因为在服务端和服务项目中间提高了内层,因而网络服务器没法立即取得手机客户端的IP,服务端运用也没法同时根据分享要求的详细地址回到给手机客户端。可是在分享要求的HTTP头信息内容中,提升了X-FORWARDED-FOR、X-Real-IP信息内容。用于追踪原来的手机客户端IP地址和原先手机客户端要求的服务器ip。下面介绍一下PHP、Java获取访问用户的真是ip地址。
先说说这种请求头的含意
X-Forwarded-For
这是一个Squid开发设计的字段名,仅有在根据了HTTP代理商或是web服务远程服务器才会加上此项。
文件格式为X-Forwarded-For:client1,proxy1,proxy2,一般情形下,第一个ip为手机客户端真正ip,后边的为通过的代理商服务器ip。如今绝大多数的代理商都是会再加上这一请求头。
X-Real-IP
nginx代理商一般会再加上此请求头。
php获得手机客户端IP地方式如下所示
1、REMOTE_ADDR
2、HTTP_X_FORWARDED_FOR
3、HTTP_CLIENT_IP
4、HTTP_X_REAL_IP
REMOTE_ADDR就是你的手机客户端跟你的网络服务器“握手”情况下的IP。假如采用了“密名代理商”,REMOTE_ADDR将表明服务器代理的IP。
HTTP_CLIENT_IP是代理商服务器发送的HTTP头。如果是“非常密名代理商”,则回到none值。一样,REMOTE_ADDR也会被更换为这一服务器代理的IP。
$_SERVER['REMOTE_ADDR'];//浏览端(有可能是客户,有可能是代办的)IP
$_SERVER['HTTP_X_FORWARDED_FOR'];//客户是在哪个IP应用的代理商(有可能存有,还可以仿冒)
$_SERVER['HTTP_CLIENT_IP'];//代理商端(有可能存有,可仿冒)
一、沒有应用服务器代理的状况:
REMOTE_ADDR=您的IP
HTTP_X_FORWARDED_FOR=没数据或无法显示
二、应用服务器代理的状况:
REMOTE_ADDR=最后一个服务器代理IP
HTTP_X_FORWARDED_FOR=您的真正IP,通过好几个服务器代理时,这一值相近如下所示:203.98.182.163,203.98.182.163,203.129.72.215。
获得手机客户端真正的IP地址案例:
/**
*获得手机客户端ip
*/
function getClientIP(){
$ip="unknown";
/*
*浏览时要localhost浏览的,读出的是“::1”是正常的状况。
*::1表明打开了ipv6适用,这也是ipv6下的当地回环地址的表明。
*应用ip详细地址浏览或是关掉ipv6适用都能够无法显示这一。
**/
if(isset($_SERVER)){
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$ip=$_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif(isset($_SERVER["HTTP_X_REAL_IP"])){
$ip=$_SERVER["HTTP_X_REAL_IP"];
}elseif(isset($_SERVER["HTTP_CLIENT_ip"])){
$ip=$_SERVER["HTTP_CLIENT_ip"];
}else{
$ip=$_SERVER["REMOTE_ADDR"];
}
}else{
if(getenv('HTTP_X_FORWARDED_FOR')){
$ip=getenv('HTTP_X_FORWARDED_FOR');
}elseif(getenv('HTTP_X_REAL_IP')){
$ip=getenv('HTTP_X_REAL_IP');
}elseif(getenv('HTTP_CLIENT_ip')){
$ip=getenv('HTTP_CLIENT_ip');
}else{
$ip=getenv('REMOTE_ADDR');
}
}
if(trim($ip)=="::1"){
$ip="127.0.0.1";
}
return$ip;
}
Java获得手机客户端真正IP地址方式
在JSP里,获得手机客户端的IP地址的办法是:request.getRemoteAddr(),这类方式在大多数情形下是合理的。可是在根据了Apache,Squid等端口转发手机软件就不可以获得到手机客户端的真正IP地址了。
下边是一个参照获得手机客户端IP地址的方式:
public String getClientIP(HttpServletRequest request){
String ip=request.getHeader("x-forwarded-for");
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getHeader("Proxy-Client-IP");
}
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getHeader("WL-Proxy-Client-IP");
}
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getRemoteAddr();
}
return ip;
}
热门活动
日本樱花云服务器黄页:云计算新选择随着云计算技术的不断发展,越来越多的企业开始将业务迁移到云端,以提高效率、降低成本。而在云计算市场中,日本樱花云服务器黄页成为了云计算新选择。首先,日本樱花云服务器黄页提供了稳定可靠的云计算服务。其服务器采......
数据中心机房维保是保证机房设备正常运行的重要手段,同时也是保障数据安全的必要措施。机房维保收费标准根据不同的服务内容和服务级别而有所不同,下面将对机房维保收费标准进行详细解析。第一,硬件设备维保费用。硬件设备维保费用是机房维保中最基本的服务......
在现代社会,云计算已经成为了一个不可或缺的技术,为企业和个人提供了高速、稳定的云端服务。而在云计算领域,日本的樱花云服务器也是备受关注的一种云计算服务。樱花云服务器是一种基于日本数据中心的云计算服务,其具有高速、稳定的特点。通过使用樱花云服......
数据中心出口带宽一般多大?数据中心是现代企业运营的核心,其中数据中心出口带宽是企业网络通信的重要指标之一。出口带宽是指数据中心连接互联网的带宽,它决定了数据中心与外界的网络通信速度和稳定性。那么,数据中心出口带宽一般多大呢?一般来说,数据中......
中国联通ICT和IDC是指中国联通公司在信息通信技术(ICT)和互联网数据中心(IDC)领域的业务。ICT是信息通信技术的缩写,包括了计算机、通信、网络和软件等技术的综合应用。IDC则是互联网数据中心的缩写,是指提供数据存储、处理和网络连接......
服务器做免流0是指通过一些技术手段,使得使用服务器的流量不计入用户的流量消耗,从而实现免费上网的效果。这种技术在一些特定的场景中非常有用,比如在一些地方网络信号较弱,或者用户流量消耗较大的情况下。本文将介绍服务器做免流0的原理以及一家值得推......
作为一名企业主,您一定知道服务器托管的重要性。托管服务器可以让您的企业在互联网上拥有更稳定、更高效的运营,同时也可以让您的企业更好地应对网络攻击和数据泄露等风险。但是,对于很多企业主来说,服务器托管的费用一直是一个难以逾越的问题。那么,服务......
服务器托管是指将服务器设备放置在专业的数据中心或机房中,由第三方服务商提供设备维护、安全管理和网络连接等服务的一种方式。这种方式可以帮助企业节省成本、提高服务器的稳定性和安全性。本文将介绍服务器托管的概念、优势和注意事项。服务器托管的概念。......
随着互联网的发展,云计算技术越来越成熟,云主机已经成为企业和个人建立网站、存储数据、运行应用程序的首选。但是,如何选择一款适合自己的云主机呢?本文将从几个方面为大家介绍云主机选购的注意事项,并推荐一家优秀的云主机服务商——腾佑科技。1. 选......
香港作为亚洲的网络枢纽,其服务器的速度一直备受关注。服务器速度的快慢直接影响着我们的上网体验,因此选择一个速度快的服务器非常重要。下面我将从几个方面来探讨香港服务器速度的快慢以及影响因素。首先,网络带宽是影响服务器速度的重要因素之一。带宽越......
专题推荐
售前咨询热线:400-996-8756
备案提交:0371-89913068
售后客服:400-996-8756
在线咨询
QQ咨询
电话咨询