php获取服务器ip与客服端ip
发布时间: 2014-01-16 11:17 浏览:5398
客户端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的设置值相关)。在客户端测试结果正确。
类如下:
1.class getip{
2. function clientip(){
3. $cip = getenv('remote_addr');
4. $cip1 = getenv('http_x_forwarded_for');
5. $cip2 = getenv('http_client_ip');
6. $cip1 ? $cip = $cip1 : null;
7. $cip2 ? $cip = $cip2 : null;
8. return $cip;
9. }
10. function serverip(){
11. return gethostbyname($_server["server_name"]);
12. }
13.}
14.
15.$getip = new getip();
16.$clientip = getip::clientip();
17.$serverip = getip::serverip();
18.
19.echo 'client ip is ',$clientip,'
'; 20.echo 'server ip is ',$serverip,'
';
'; 20.echo 'server ip is ',$serverip,'
';