分享PHP获取客户端IP的几种不同方式
分享PHP获取客户端IP的几种不同方式
PHP获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。
PHP获取IP方法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function GetIP()
{
if (! empty ( $_SERVER [ "HTTP_CLIENT_IP" ]))
$cip = $_SERVER [ "HTTP_CLIENT_IP" ];
else if (! empty ( $_SERVER [ "HTTP_X_FORWARDED_FOR" ]))
$cip = $_SERVER [ "HTTP_X_FORWARDED_FOR" ];
else if (! empty ( $_SERVER [ "REMOTE_ADDR" ]))
$cip = $_SERVER [ "REMOTE_ADDR" ];
else
$cip = "无法获取!" ;
return $cip ;
}
echo "<br>" ;
|
PHP获取IP方法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
error_reporting (E_ERROR | E_WARNING | E_PARSE);
if ( $HTTP_SERVER_VARS [ "HTTP_X_FORWARDED_FOR" ])
{
$ip = $HTTP_SERVER_VARS [ "HTTP_X_FORWARDED_FOR" ];
}
elseif ( $HTTP_SERVER_VARS [ "HTTP_CLIENT_IP" ])
{
$ip = $HTTP_SERVER_VARS [ "HTTP_CLIENT_IP" ];
}
elseif ( $HTTP_SERVER_VARS [ "REMOTE_ADDR" ])
{
$ip = $HTTP_SERVER_VARS [ "REMOTE_ADDR" ];
}
elseif ( getenv ( "HTTP_X_FORWARDED_FOR" ))
{
$ip = getenv ( "HTTP_X_FORWARDED_FOR" );
}
elseif ( getenv ( "HTTP_CLIENT_IP" ))
{
$ip = getenv ( "HTTP_CLIENT_IP" );
}
elseif ( getenv ( "REMOTE_ADDR" ))
{
$ip = getenv ( "REMOTE_ADDR" );
}
else
{
$ip = "Unknown" ;
}
echo "你的IP地址是:" . $ip . "<br>" ;
|
PHP获取IP方法三:
1
2
3
|
$iipp = $_SERVER [ "REMOTE_ADDR" ];
echo $iipp ;
echo "<br>" ;
|
PHP获取IP方法四:
1
2
3
|
$user_IP = ( $_SERVER [ "HTTP_VIA" ]) ? $_SERVER [ "HTTP_X_FORWARDED_FOR" ] : $_SERVER [ "REMOTE_ADDR" ];
$user_IP = ( $user_IP ) ? $user_IP : $_SERVER [ "REMOTE_ADDR" ];
echo $user_IP . "<br>" ;
|
PHP获取IP方法五:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
function get_real_ip()
{
$ip =false;
if (! empty ( $_SERVER [ "HTTP_CLIENT_IP" ]))
{
$ip = $_SERVER [ "HTTP_CLIENT_IP" ];
}
if (! empty ( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]))
{
$ips = explode ( ", " , $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]);
if ( $ip )
{
array_unshift ( $ips , $ip ); $ip = FALSE;
}
for ( $i = 0; $i < count ( $ips ); $i ++)
{
if (! eregi ( "^(10|172\.16|192\.168)\." , $ips [ $i ]))
{
$ip = $ips [ $i ];
break ;
}
}
}
return ( $ip ? $ip : $_SERVER [ 'REMOTE_ADDR' ]);
}
echo get_real_ip();
echo "<br>" ;
|
PHP获取IP方法六:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
if ( getenv ( 'HTTP_CLIENT_IP' ))
{
$onlineip = getenv ( 'HTTP_CLIENT_IP' );
}
elseif ( getenv ( 'HTTP_X_FORWARDED_FOR' ))
{
$onlineip = getenv ( 'HTTP_X_FORWARDED_FOR' );
}
elseif ( getenv ( 'REMOTE_ADDR' ))
{
$onlineip = getenv ( 'REMOTE_ADDR' );
}
else
{
$onlineip = $HTTP_SERVER_VARS [ 'REMOTE_ADDR' ];
}
echo $onlineip ;
echo "<br>" ;
|
分享PHP获取客户端IP的几种不同方式相关推荐
- 网页获取客户端IP的两种方法
不用英文写了哈: 在网页上获取客户端IP地址是件容易的事,用JavaScript以下代码即可: ip = '<!--#echo var="REMOTE_ADDR"--> ...
- PHP获取客户端ip的五种方式
方法一 1 <?php 2 $ip = $_SERVER["REMOTE_ADDR"]; 3 echo $ip; 方法二 <?php $user_IP = ($_SER ...
- 深入分析几种PHP获取客户端IP的情况
深入分析几种PHP获取客户端IP的情况 http://mount.blog.51cto.com/764124/528084 2011-03-27 16:13:29 标签:代理服务器 客户端 文章 PH ...
- php获取ip几种方法区别,php获取客户端IP地址的几种方法
php获取客户端IP地址的几种方法 阅读php获取客户端IP地址的几种方法, 1:来看看代码: echo "(1)浏览当前页面的用户的 IP 地址为:"; echo $_SERVE ...
- WebService(JAX-WS、XFire、Axis三种)获取客户端ip
WebService(JAX-WS.XFire.Axis三种)获取客户端ip JAX-WS.XFire.Axis三种webservice的获取客户端IP的简单实现过程: 1,基于JDK6 jax-ws ...
- php获取客户端IP地址的几种方法(转)
php获取客户端IP地址的几种方法方法一 <?php $iipp=$_SERVER["REMOTE_ADDR"]; echo $iipp; ?>方法二<?php ...
- 获取客户端IP和MAC地址
小编是菜鸟,这两天拿到一个需求,登录时判断ip地址是否允许登录,这几天做下来小编遇见了好多坑,给大家分享一下. 系统架构:.net+java 首先,不管怎么样http请求头才是获取ip地址的唯一方式: ...
- springboot 获取客户端ip_JAVA如何获取客户端IP地址和MAC地址
本文介绍了JAVA如何获取客户端IP地址和MAC地址 ,分享给大家,具体如下: 1.获取客户端IP地址 public String getIp(HttpServletRequest request) ...
- 负载均衡获取客户端IP
C#获取客户端IP. 最近遇到一个需要做鉴权的接口,有IP鉴权的需求,需要知道客户端HTTP请求的IP. 试了好多种方法,发现都有问题.最终尝试 ip = HttpContext.Current.Re ...
- 记录:通过第三方获取接口获取客户端IP,并判断当前IP是否在中国境内
前言 项目需要根据客户的ip判断当前是否在中国大陆境内访问前端系统,实现一定的业务. 通过第三方获取接口获取客户端IP,并判断当前IP是否在中国境内(不包括香港.台湾). 当前文章记录完整的实现流程. ...
最新文章
- 淘宝精品案例JS、jQuery
- 抽象类的基本概念------abstract
- 问题 B: 小鱼的搭配购物(并查集+01背包)
- 每次创建maven都要重新设置set,如何将本地maven设置为默认的maven
- CRM campaign relationship read
- springmvc报错 nested exception is org.mybatis.spring.MyBatisSystemException:
- Qt之QThread用法
- 计算机与在勘察地质中的应用,地质勘察中计算机信息技术的应用
- Git 提交错了不用慌,这三招帮你修改记录
- win11多桌面功能怎么使用 win11多桌面设置步骤
- 【OpenCV学习笔记】【函数学习】十三(剔除检测到的不符合要求的对象)
- Windows 10 下使用 telnet 客户端/服务端工具进行连接
- uib-datepicker-popup使用
- 手把手会教你搭建微信小程序服务器node!!!
- windows系统日志服务器搭建,windows 配置日志服务器
- Moment.js简单使用
- 业界红包玩法与技术方案总结
- 语音处理/语音识别基础(二)- 声音的存储
- ssm框架整合的crud项目详细步骤
- 《大话数据结构》笔记——第8章 查找(四)
热门文章
- springboot允许跨域注解_springboot 设置允许跨域的方法
- windows怎么远程关linux系统,从windows远程关闭linux、windows系统.doc
- python找不到sys模块_在本地目录中找不到模块,存在于sys.path中
- ajax如何获取复选框中的值_Web自动化测试:页面元素信息(属性)的获取
- C++赋值运算符重载函数(operator=)
- PHP常用系统设置整理
- vue-cli中引入jquery的方法
- 报道称三星与AMD/Nvidia商讨GPU技术授权:移动设备要起飞?
- win7/64位下python2.7、easy_install安装经验
- MVC中使用Tuple完成匿名类数据存储