PHP获得用户使用的代理服务器ip即真实ip
来自 http://www.phpchina.com/bbs/thread-12239-1-1.html
在PHP 中用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址
但如果客户端是使用代理服务器来访问
那取到的就是代理服务器的 IP 地址
要想透过代理服务器取得客户端的真实 IP 地址
就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取
但并不是每个代理服务器都能用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取客户端的真实 IP
有些用此方法读取到的仍然是代理服务器的 IP
相关推荐
-
PHP 获取客户端真实IP地址多种方法小结
经过复杂的判断与算是的获取IP地址函数 复制代码 代码如下: function getIP() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_X_FORWARDED')) { $ip = getenv('
-
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") && strc
-
PHP获取客户端及服务器端IP的封装类
本文实例讲述了PHP获取客户端及服务器端IP的封装类.分享给大家供大家参考,具体如下: 客户端IP相关的变量: 1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP. 2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可伪造. 3. $_SERVER['HTTP_X_FORWARDED_FOR']; 用户是在哪个IP使用的代理,可能存在,可以伪造. 服务器端IP相关的变量: 1. $_SERVER["SE
-
php中获取远程客户端的真实ip地址的方法
(1).REMOTE_ADDR:浏览当前页面的用户计算机的ip地址 (2).HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关 (3).HTTP_CLIENT_IP:客户端的ip 在PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址.要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["
-
php下获取客户端ip地址的函数
复制代码 代码如下: function getip() { $IP=getenv('REMOTE_ADDR'); $IP_ = getenv('HTTP_X_FORWARDED_FOR'); if (($IP_ != "") && ($IP_ != "unknown")) $IP=$IP_; return $IP; } 下面这个比较好的 复制代码 代码如下: function getIP() { if (isset($_SERVER)) { if (
-
thinkphp如何获取客户端IP
thinkphp框架中系统内置了get_client_ip方法用于获取客户端的IP地址,使用示例: $ip = get_client_ip(); 除了thinkphp内置get_client_ip函数外,也可使用下面函数获取客户端IP地址. $type表示返回类型 0 返回IP地址, 1 返回IPV4地址数字 分享代码如下 function get_client_ip($type = 0) { $type = $type ? 1 : 0; static $ip = NULL; if ($ip !
-
PHP准确取得服务器IP地址的方法
本文实例讲述了PHP准确取得服务器IP地址的方法.分享给大家供大家参考.具体分析如下: 在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. php手册中的解释如下: "HTTP_HOST" 当前请求的 Host: 头信息的内容. 一般来说,这样子不会遇到什么问题,在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量. 然而最近在做的一个项目,程序移交到客户手里测试时,竟然发现程序的跳转总是会出错. 最后找出原因:$_S
-
PHP跨平台获取服务器IP地址自定义函数分享
近期需要完善一个log机制,监控来自不同服务器的机器的脚本执行状况,特针对windows和Linux及web与命令行模式书写了一个函数来兼容. 写了如下一个function来,可以实现上面的需求: 复制代码 代码如下: function getServerAddr() { //运行 web app if (isset($_SERVER["SERVER_ADDR"])) { return $_SERVER["SERVER_ADDR&q
-
PHP获取客户端真实IP地址的5种情况分析和实现代码
在PHP获取客户端IP中常使用 $_SERVER["REMOTE_ADDR"] . (1) 但如果客户端是使用代理服务器来访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址.要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取. (2) 但只有客户端使用"透明代理"的情况下,$_SERVER["HTTP_X_FORWARDED_FOR&q
-
PHP实现获取客户端IP并获取IP信息
代码很简洁,功能很实用,这里就不多废话了,直接奉上: 复制代码 代码如下: <?php /** * 获取客户端IP * @param integer $type 返回类型 0:string,1:long * @return string|long */ function getClientIp($type = 0) { $ip = NULL; if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr = ex
-
PHP 显示客户端IP与服务器IP的代码
来看看代码: 复制代码 代码如下: echo "(1)浏览当前页面的用户的 IP 地址为:"; echo $_SERVER['REMOTE_ADDR']; echo "<br />"; echo "(2)浏览当前页面的用户的 IP 地址为:"; echo getenv('REMOTE_ADDR'); echo "<br />"; echo "主机 www.baidu.com 的 IP 地址为:
随机推荐
- 原创powershell脚本小工具ctracert.ps1跟踪路由(win8以上系统)
- Python中for循环和while循环的基本使用方法
- jQuery实现的图片轮播效果完整示例
- jquery.cookie.js实现用户登录保存密码功能的方法
- Angular实现图片裁剪工具ngImgCrop实践
- Java进阶教程之String类
- subsonic3.0插件更新字符串过长引发的异常修复方法
- js实现Select列表内容自动滚动效果代码
- Android动画之补间动画(Tween Animation)实例详解
- MySQL高速缓存启动方法及参数详解(query_cache_size)
- css也疯狂! 用background 插入flash播放器
- JavaScript注入漏洞的原理及防范(详解)
- python实现汉诺塔方法汇总
- 服务器上w3wp.exe占用cpu过多有时候超过50%的原因分析
- jquery限定文本框只能输入数字(整数和小数)
- django 创建过滤器的实例详解
- javascript 常用验证函数总结
- 解析Java编程中对于包结构的命名和访问
- Java设计模式之装饰者模式详解和代码实例
- php防注