PHP怎么获取访问者真实IP
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本篇内容主要讲解"PHP怎么获取访问者真实IP",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP怎么获取访问者真实IP"吧!在没有开代理服务器的情况下,
千家信息网最后更新 2024年09月22日PHP怎么获取访问者真实IP
本篇内容主要讲解"PHP怎么获取访问者真实IP",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP怎么获取访问者真实IP"吧!
在没有开代理服务器的情况下,直接使用:
$ip = $_SERVER["REMOTE_ADDR"];
如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址 ,反之就是真实IP;
下面是通用的一种写法,都能获取到:
要想透过代理服务器取得客户端的真实 IP 地址,就要使用 getenv("HTTP_X_FORWARDED_FOR") 来读取。
但是如果客户端没有通过代理服务器来访问,那么用getenv("HTTP_X_FORWARDED_FOR") 取到的值将是空的。
function getIP(){ static $realip; if (isset($_SERVER)){ if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else if (isset($_SERVER["HTTP_CLIENT_IP"])) { $realip = $_SERVER["HTTP_CLIENT_IP"]; } else { $realip = $_SERVER["REMOTE_ADDR"]; } } else { if (getenv("HTTP_X_FORWARDED_FOR")){ $realip = getenv("HTTP_X_FORWARDED_FOR"); } else if (getenv("HTTP_CLIENT_IP")) { $realip = getenv("HTTP_CLIENT_IP"); } else { $realip = getenv("REMOTE_ADDR"); } } return $realip;}
注意:
$_SERVER和getenv的区别,getenv不支持IIS的isapi方式运行的php
getenv("REMOTE_ADDR")函数在 apache下能正常获取ip地址,而在iis中没有作用,而$_SERVER['REMOTE_ADDR']函数,既可在apache中成功获取访客的ip地址,在iis下也同样有效
另外根据ip地址,可以实现类似限制IP访问的防刷机制;
php验证邮箱,代码如下:$email = 'fengdingbo@gmail.com'; $result = filter_var($email, FILTER_VALIDATE_EMAIL); var_dump($result); // string(20) "fengdingbo@gmail.com" php验证url地址,代码如下:$url = "https://www.jb51.net"; $result = filter_var($url, FILTER_VALIDATE_URL); var_dump($result); // string(25) "https://www.jb51.net" php验证ip地址,代码如下:$url = "192.168.1.110"; $result = filter_var($url, FILTER_VALIDATE_IP); var_dump($result); // string(13) "192.168.1.110" // 该方法也可以用来验证ipv6。 $url = "2001:DB8:2de::e13"; $result = filter_var($url, FILTER_VALIDATE_IP); var_dump($result); // string(17) "2001:DB8:2de::e13"public static function isEmail( $email ) { return preg_match("/^([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,4}([\.][a-z]{2})?$/i" , $email ); } public static function isNumber( $num ) { return is_numeric( $num ); } public static function isUrl( $url , $preg = false ) { if( $preg ) { $status = preg_match ( "/^([^:\/\/])+\:\/\/[\w-]+\.[\w-.\?\/]+$/" , $url ); } else{ $status = filter_var( $url , FILTER_VALIDATE_URL ); } return $status; }到此,相信大家对"PHP怎么获取访问者真实IP"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
地址
方法
服务器
代理
服务
客户
验证
访问者
代码
客户端
内容
函数
就是
学习
实用
更深
有效
成功
作用
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发在线课程
挑战杯 电脑软件开发
百易科技麻将软件开发利用
邮政银行软件开发中心二面
html5游戏读取数据库
数据库中查询日期
紫宸殿网络安全
数据库口诀
数据库性能面试
软件开发和实施的工资
五一网络安全宣传活动
网络安全离我们多远
网络安全应知应会哪些内容
服务器五要素可靠性
windows同步服务器
新科技与互联网
苍南淘米网络技术
医疗软件开发一般用什么
明星进军互联网科技
橙社网络技术公司
如何在pdf数据库中查找
设计网络安全信息安全的法律
数据库查询视频教程
懒人数据库
网络安全测评人员培训
软件开发公司成本占收入
共青团网络安全宣传标语
数据库怎么保存两位小数
东城区管理软件开发介绍
品牌的网络安全零信任安全