php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法

<?php   //方法1:
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;//方法2:
$ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$ip = ($ip) ? $ip : $_SERVER["REMOTE_ADDR"];
echo $ip;//方法3:
function getRealIp()
{$ip=false;if(!empty($_SERVER["HTTP_CLIENT_IP"])){$ip = $_SERVER["HTTP_CLIENT_IP"];}if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }for ($i = 0; $i < count($ips); $i++) {if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {$ip = $ips[$i];break;}}}return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo getRealIp();//方法4:
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{$ip = getenv("REMOTE_ADDR");
}
else
{$ip = "Unknown";
}
echo $ip ;//方法5:
if(getenv('HTTP_CLIENT_IP')) {$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {$onlineip = getenv('REMOTE_ADDR');
} else {$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;

实例:在用户登录时获取用户IP,插入到数据库登录日志表里

//增加用户登录日志
$ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$ip = ($ip) ? $ip : $_SERVER["REMOTE_ADDR"];
$this->usermodel->addUserlog($userid,$nickname,$ip);

php获取ip地址,记录用户登陆日志相关推荐

  1. 虚拟机的安装和linux操作系统(RedHat.8.5)的安装。将虚拟机的网络连接模式分别调换成仅主机模式,nat模式,桥接模式并获取ip地址使用ssh通过不同用户远程连接。在linux系统下破解密码

    目录 一.在VMware上如何创建虚拟机以及安装linux操作系统. 二.修改主机名为server.local. 三.将虚拟机的网络连接模式分别调换成仅主机模式,nat模式,桥接模式并获取ip地址使用 ...

  2. php 什么函数获取ip,在PHP中获取ip地址的方法有哪些

    在PHP中获取ip地址的方法有哪些 发布时间:2021-02-15 18:37:36 来源:亿速云 阅读:97 作者:Leah 这篇文章给大家介绍在PHP中获取ip地址的方法有哪些,内容非常详细,感兴 ...

  3. Android10一直获取IP地址,Android 获取IP地址的实现方法

    Android 获取IP地址 最近做项目,有一个需求是Android设备获取当前IP的功能,经过一番查询资料解决了,记录下实现方法. 1.使用WIFI 首先设置用户权限 其次,代码如下 public ...

  4. 如何查看服务器被修改,查看服务器ip地址被修改的日志

    查看服务器ip地址被修改的日志 内容精选 换一换 在待分析的服务器上安装节点.Web服务器(即安装鲲鹏性能分析工具的服务器)默认安装了节点,如果待分析的服务器与安装工具的服务器是同一个,请跳过该章节. ...

  5. Java 通过Request请求获取IP地址

    Java 通过Request请求获取IP地址 项目需要将不同省份的用户,展示不同内容,所以需要通过Request请求获取IP地址. 先来贴代码, 如果你要在生产环境使用就直接拿去用吧,我这边已经上线了 ...

  6. CentOS 7如何设置Linux开机自动获取IP地址

    centos7 minimal版默认安装好后没有获取ip地址,需要手动配置.方法如下: 1.输入"ip addr"并按回车键确定,发现无法获取IP(CentOS 7默认没有ifco ...

  7. Kali Linux常用服务配置教程获取IP地址

    Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...

  8. centOS7 Minima无法上网解决方案(Linux设置开机自动获取ip地址)

    本例中以CentOS 7举例说明如何设置Linux开机自动获取IP地址. 1.输入"ip addr"并按回车键确定,发现无法获取IP(CentOS 7默认没有ifconfig命令) ...

  9. gethostbyname()函数:通过域名获取IP地址

    客户端中直接使用 IP 地址会有很大的弊端,一旦 IP 地址变化(IP 地址会经常变动),客户端软件就会出现错误. 而使用域名会方便很多,注册后的域名只要每年续费就永远属于自己的,更换 IP 地址时修 ...

最新文章

  1. 【2-SAT问题】解题报告:POJ 3678 Katu Puzzle(2-SAT问题的判定)
  2. ubuntu的学习教程(常用操作)
  3. 基于MATLAB的Okumura-Hata模型的仿真
  4. Web移动适配笔记(ing)
  5. php中的冒泡排序实例,PHP实现冒泡排序的简单实例,php冒泡排序_PHP教程
  6. JavaFX之TableView
  7. 使用ActiveMQ和HornetQ通过WebSocket通过STOMP轻松进行消息传递
  8. array_reverse_PHP array_reverse()函数与示例
  9. python scatter 简书_写给 Pythonist 的 Spacemacs 入门指北
  10. 值得学习实战8D来了!
  11. 移动应用程序框架Kendo UI Mobile发布R2 2016 SP2
  12. debug方式看Activity启动流程小记
  13. 您如何性能测试JavaScript代码?
  14. 基于RFM模型的Kmeans聚类算法实现
  15. 虚函数表和虚函数指针
  16. ZeroMQ知识总结大全(二):Req-Rep模式详解
  17. POJ 1625 Censored!
  18. 台式机fiddler手机抓包
  19. linux 信号signum.h SIGINT SIGUSR1 SIGUSR2
  20. 第一周学习任务:百鸡问题扩展-N鸡问题

热门文章

  1. 高速数字PCB板设计中的信号完整性分析
  2. 幼儿课外活动游戏_适合幼儿园的课外活动有哪些游戏
  3. 新手从零开始学习微信小程序开发01
  4. POSMV不能接收星站差分GPS-NavComSF3050的问题解决记录
  5. java c3p0 配置文件_C3P0默认配置文件
  6. 解决Google人机验证reCaptcha失效问题
  7. 同一局域网下两台PC之间大文件传输
  8. 【安卓学习之第三方库】异常上报 库(Crash搜集)
  9. CCF-CSP-202112-1/2:序列查询(新解)
  10. 测量软件使用的心得体会