您现在的位置是:网站首页> 编程资料编程资料
PHP 获取客户端 IP 地址的方法实例代码_php实例_
2023-05-25
283人已围观
简介 PHP 获取客户端 IP 地址的方法实例代码_php实例_
先来了解一个变量的含义:
$_SERVER['REMOTE_ADDR']:浏览当前页面的用户计算机的ip地址
$_SERVER['HTTP_CLIENT_IP']:客户端的ip
$_SERVER['HTTP_X_FORWARDED_FOR']:浏览当前页面的用户计算机的网关
$_SERVER['HTTP_X_REAL_IP']:nginx 代理模式下,获取客户端真实IP
/** * 获取客户端IP地址 */ function real_ip() { $ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) { foreach ($matches[0] AS $xip) { if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) { $ip = $xip; break; } } } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CF_CONNECTING_IP'])) { $ip = $_SERVER['HTTP_CF_CONNECTING_IP']; } elseif (isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) { $ip = $_SERVER['HTTP_X_REAL_IP']; } return $ip; }总结
以上所述是小编给大家介绍的PHP 获取客户端 IP 地址的方法实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
您可能感兴趣的文章:
相关内容
- 如何优雅的使用 laravel 的 validator验证方法_php实例_
- php使用curl模拟浏览器表单上传文件或者图片的方法_php实例_
- safari下载文件自动加了html后缀问题_php实例_
- centos7上编译安装php7以php-fpm方式连接apache_php实例_
- PHP校验15位和18位身份证号的类封装_php实例_
- php中如何执行linux命令详解_php技巧_
- laravel中的一些简单实用功能_php实例_
- 详解在YII2框架中使用UEditor编辑器发布文章_php实例_
- yii2 上传图片的示例代码_php实例_
- yii2实现Ueditor百度编辑器的示例代码_php实例_
