PHP获取客户端及服务器端IP的封装类

作者:Youngerchen 时间:2024-05-03 15:48:38 

本文实例讲述了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["SERVER_NAME"],需要使用函数gethostbyname()获得。这个变量无论在服务器端还是客户端均能正确显示。

2. $_SERVER["SERVER_ADDR"],在服务器端测试:127.0.0.1(这个与httpd.conf中BindAddress的设置值相关)。在客户端测试结果正确。

类如下:


class getIP{
function clientIP(){
$cIP = getenv('REMOTE_ADDR');
$cIP1 = getenv('HTTP_X_FORWARDED_FOR');
$cIP2 = getenv('HTTP_CLIENT_IP');
$cIP1 ? $cIP = $cIP1 : null;
$cIP2 ? $cIP = $cIP2 : null;
return $cIP;
}
function serverIP(){
return gethostbyname($_SERVER["SERVER_NAME"]);
}
}
$getIP = new getIP();
$clientIp = getIP::clientIP();
$serverIp = getIP::serverIP();
echo 'Client IP is ',$clientIp,'<br />';
echo 'Server IP is ',$serverIp,'<br />';

希望本文所述对大家PHP程序设计有所帮助。

标签:PHP,客户端,服务器端,IP
0
投稿

猜你喜欢

  • Python可视化tkinter详解

    2022-12-31 06:09:19
  • Python使用plotly绘制数据图表的方法

    2023-04-25 13:19:00
  • Python爬虫,获取,解析,存储详解

    2023-12-21 15:03:23
  • SQL Server中的执行引擎入门 图解

    2012-06-06 20:08:26
  • win10环境下配置vscode python开发环境的教程详解

    2022-09-06 21:19:49
  • python Matplotlib模块的使用

    2022-12-26 21:18:37
  • Vue内部渲染视图的方法

    2024-04-28 09:19:57
  • django将数组传递给前台模板的方法

    2023-09-26 09:06:40
  • 在图片上显示左右箭头类似翻页的代码

    2024-04-19 09:48:20
  • python库JsonSchema验证JSON数据结构使用详解

    2023-02-14 16:24:27
  • javascript 模拟函数指针

    2009-09-19 18:02:00
  • MySQL之information_schema数据库详细讲解

    2024-01-16 18:56:54
  • 14条最佳JS代码编写技巧[译]

    2009-11-09 19:37:00
  • python使用socket连接远程服务器的方法

    2022-12-12 23:55:16
  • python中的unittest框架实例详解

    2023-01-27 06:13:41
  • P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)

    2011-04-02 10:42:00
  • Python高级用法总结

    2021-04-20 13:03:01
  • AlmaLinux 9 安装 MySQL 8.0.32的详细过程

    2024-01-21 21:38:36
  • MySQL explain根据查询计划去优化SQL语句

    2024-01-26 16:59:26
  • Django2.1.3 中间件使用详解

    2023-11-06 19:46:00
  • asp之家 网络编程 m.aspxhome.com