PHP获取用户的真实IP地址

本文出至:新太潮流网络博客

PHP获取用户的真实IP地址,非代理IP

function getClientIP(){
    global $ip;
    if(getenv("HTTP_CLIENT_IP")){
        $ip = getenv("HTTP_CLIENT_IP");
    }else if(getenv("HTTP_X_FORWARDED_FOR")){
        $ip = getenv("HTTP_X_FORWARDED_FOR");
    }else if(getenv("REMOTE_ADDR")){
        $ip = getenv("REMOTE_ADDR");
    }else{
        $ip = "NULL";
    }
    return $ip;
}

本文出至:新太潮流网络博客

时间: 2024-10-11 10:46:03

PHP获取用户的真实IP地址的相关文章

获取用户的真实ip

常见的坑有两个: 一.获取的是内网的ip地址.nginx作为代理层,转发请求到php,java等应用容器上.结果php获取的是nginx代理服务器的ip,表现为一个内网的地址. 二.获取的是攻击者伪造的ip地址.攻击者可以随便伪造一个头部信息,随便填写一个ip放到头部发过来,php获取到HTTP_CLIENT_IP.为避免伪造,不要使用discuz原来的获取ip函数,里面的判断优先级会使得攻击者容易伪造ip. php代码: function getIP() { if (getenv("HTTP_

获得用户的真实IP地址

/** * 获得用户的真实IP地址 * * @access public * @return string */if (!function_exists('get_real_ip')){ function get_real_ip() { static $realip = NULL; if ($realip !== NULL) { return $realip; } if (isset($_SERVER)) { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])

通过HttpservletRequest对象获取客户端的真实IP地址

这篇文章主要介绍了Java中使用HttpRequest获取用户真实IP地址,使用本文方法可以避免Apache.Squid.nginx等反向代理软件导致的非真实IP地址,需要的朋友可以参考下 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的UR

IpUtils获取用户请求真实ip工具类

import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException; /** * IP工具类 * @author justin.zheng * @date 2020/2/12 15:08 */ public class IpUti

如何获取用户的真实IP

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过

怎么使用PHP获取用户客户端真实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(

php中获取用户登陆的IP地址以及常规处理

本文为原创,转载请注明!  在我们开发多站点业务网站中,经常需要获取客户端的ip地址来给用户推荐其所在地址的信息的业务,用php获取客户端的ip地址,我们一般用到的PHP内置方法是$_SERVER['REMOTE_ADDR']. 但是这个函数只能获取访问者本地连接中设置的IP,局域网网关出口的IP地址,如果访问者使用代理服务器,将不获取代理服务器的IP,而是获取访问者网关的真实IP.如果将这个函数应用到限IP访问的网页中,别人即使通过限IP访问段中的代理服务器,也不能访问该页面. 所以我们一般为

php获取用户 地区 、ip地址

header("Content-type: text/html; charset=utf-8"); function getCity($ip = '')//获取地区 { if($ip == ''){ $url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json";//新浪借口获取访问者地区 $ip=json_decode(file_get_contents($url),true); $d

记录---php实现得到用户的真实ip地址

/**  * 得到用户的ip  * @return string  */ function get_real_ip() {     $ip = false;     if (!empty($_SERVER["HTTP_CLIENT_IP"])) {         $ip = $_SERVER["HTTP_CLIENT_IP"];     }     if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {         $i