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

5年以前  |  阅读数:474 次  |  编程语言: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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例