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

 更新时间:2016年07月21日 10:20:59   作者:Youngerchen  
这篇文章主要介绍了PHP获取客户端及服务器端IP的封装类,简单分析了php使用服务器预定义变量的基本用法并进行了简单封装,需要的朋友可以参考下

本文实例讲述了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网络编程技巧总结》、《php curl用法总结》、《php socket用法总结》、《php正则表达式用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数学运算技巧总结》、《php面向对象程序设计入门教程》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php常见数据库操作技巧汇总

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

相关文章

  • PHP连接MySql数据库方法简化版

    PHP连接MySql数据库方法简化版

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,这篇文章主要介绍了PHP连接mysql数据库,数据库连接静态工具类,简化连接
    2022-07-07
  • php关于array_multisort多维数组排序的使用说明

    php关于array_multisort多维数组排序的使用说明

    对于PHP语言中的多维数组排序时最为复杂的一个排序方式。我们在实际编码中将会用到PHP函数array_multisort()来实现这一复杂的排序。
    2011-01-01
  • php安全配置记录和常见错误梳理(总结)

    php安全配置记录和常见错误梳理(总结)

    下面小编就为大家带来一篇php安全配置记录和常见错误梳理(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • php 数组元素快速去重

    php 数组元素快速去重

    本篇文章主要介绍了php数组元素快速去重的方法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • php复制文件后改名的实例代码

    php复制文件后改名的实例代码

    在本篇文章里小编给大家整理的是一篇关于php复制文件后改名的方法及相关内容,有兴趣的朋友们可以学习下。
    2021-09-09
  • PHP实现实时生成并下载超大数据量的EXCEL文件详解

    PHP实现实时生成并下载超大数据量的EXCEL文件详解

    EXCEL文件的处理是我们在日常工作中经常会遇到的,这篇文章主要给大家介绍了关于利用PHP如何实现实时生成并下载超大数据量的EXCEL文件,通过文中介绍的这个方法对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • php根据某字段对多维数组进行排序的方法

    php根据某字段对多维数组进行排序的方法

    这篇文章主要介绍了php根据某字段对多维数组进行排序的方法,实例分析了php操作数组及排序的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 浅谈PHP中的错误处理和异常处理

    浅谈PHP中的错误处理和异常处理

    下面小编就为大家带来一篇浅谈PHP中的错误处理和异常处理。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • PHP判断数据库中的记录是否存在的方法

    PHP判断数据库中的记录是否存在的方法

    这篇文章主要介绍了PHP判断数据库中的记录是否存在的方法,通过mysql_num_rows对查询结果进行判断来实现这一功能,非常实用,需要的朋友可以参考下
    2014-11-11
  • PHP 常用函数库和一些实用小技巧

    PHP 常用函数库和一些实用小技巧

    包括文件读取函式,文件写入函式,静态页面生成函式,目录删除函式等
    2009-01-01

最新评论