欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-04-02 17:02:46
本文实例讲述了php获取客户端及服务器端ip的封装类。分享给大家供大家参考,具体如下: 客户端ip相关的变量: 1. $_server['remote_addr'];...

本文实例讲述了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程序设计有所帮助。