PHP怎么获取访问者真实IP
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,本篇内容主要讲解"PHP怎么获取访问者真实IP",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP怎么获取访问者真实IP"吧!在没有开代理服务器的情况下,
千家信息网最后更新 2025年12月04日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安全错误
数据库的锁怎样保障安全
不同类型数据库的区别
机架式服务器和交换机
安徽计算机软件开发有用吗
宁波软件开发公司电话
网络数据库应用技术内容
数据与网络安全的区别
驾照被录入数据库
浙江互联网络技术咨询介绍
如何将数据库导入到自己电脑
linux配置web服务器
计算机三级网络技术吧
七日杀补丁服务器管理员
饥荒服务器有什么用
软件开发社招面试题
瑞友 连接数据库失败
数据库设置图书读者
网络安全教育作文五篇
jbpm4 数据库表
服务器编译maven
数据库设计图书总结心得
b站 软件开发网课
资源核心数据库
weblogic 数据库
中国水稻数据库通育绿
软件开发逾期一天赔偿
学习软件开发大一要不要买电脑
单数据库多应用的连接池
南阳理工校园网dns服务器
北京纺织外贸软件开发
虹口图腾服务器机柜哪家好