php获取客户端ip

代码

  • 01

    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); }

    解析

    • 01

      regist=off的问题 if ($register_globals!=1) { @extract($_SERVER, EXTR_SKIP); @extract($_COOKIE, EXTR_SKIP); @extract($_SESSION, EXTR_SKIP); @extract($_POST, EXTR_SKIP); @extract($_FILES, EXTR_SKIP); @extract($_GET, EXTR_SKIP); @extract($_ENV, EXTR_SKIP); } 其中REMOTE_ADDR比较好理解,php手册上有说明它是预定的变量;而HTTP_x_FORWARDED_FOR呢,在网上找了一些资料,是这么说的 在PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取。 不过要注意的事,并不是每个代理服务器都能用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。

    (0)

    相关推荐

    • java如何实现获取客户端ip地址?

      java实现获取客户端ip第一步:我们先来定义一个工具类,专门用于封装ip相关的方法类.package com.example.review.util; import org.apache.commo ...

    • php获取客户端ip方法

      简介 01 使用php获取客户段的ip地址系统也有函数,当然,很多新手都搞不定,现在小编就过来简单的分享一下; 方法一: 01 02 代码: <?php echo $_SERVER[" ...

    • java如何获取客户端真正的ip地址

      java获取客户端真实IP 获得客户端真实IP地址的方法一 01 public String getRemortIP(HttpServletRequest request) { if (request ...

    • 使用slb后nginx.apache获取真实ip

      前提是在slb设置中开启了“获取真实ip”的功能。 如果只是需要在程序中获取真实ip 那么只要在程序中获取 HTTP_X_FORWARDED_FOR 的值基本就可以了,不需要下面的操作。 下面的操作可 ...

    • win7系统怎么利用ASP获取服务器IP地址?

      win7系统浏览器打开的网页想要看查看服务器ip地址,网络上浏览的网页都是放在服务器上的,该怎么获取服务器ip地址呢?下面我们就来看看用ASP获取服务器IP地址的方法,请看下文详细介绍. 1.打开II ...

    • CentOS如何从命令行获取公网IP

      最近本地配置了服务器,使用了家用的带宽没有固定的IP地址.因此,需要获取到自己的公网IP地址. 机器是CentOS 6.5的服务器版本自然就没有办法通过浏览器访问的方式获取到公网IP地址. 因此记录一 ...

    • 路由器WAN口状态没有获取到IP地址解决办法

      WAN口状态没有获取到IP地址怎么办 操作方法 01 第一步 检查宽带线路连接路由器的WAN口指示灯是否常亮或闪烁,若不亮,请重新连接网线或换一根网线尝试: 02 第二步  检查"管理界面- ...

    • 如何重新获取电脑ip地址?

      现在电脑想连接到另台路由器上网,可是怎么也连接不上去!!在这里能是自己的电脑抓取了原来的ip地址没有放弃,所以路由器不认可这个ip是我的,当然不会让你连接上来!怎么办? 操作方法 01 1,想连接上网 ...

    • QQ聊天中如何获取对方IP

      可以通过聊天的方式知道远方网友的所在省市 操作方法 01 首先启动QQ 02 右键任务栏,启动任务管理器 03 打开如下图所示的位置 04 然后能看到如下图所示的对话框,看到很多条条框框,不要慌,看到 ...