Code前端首页关于Code前端联系我们

关于phpclientip的信息

terry 3年前 (2023-09-30) 阅读数 41 #PHP
文章标签 str_replace函数

本文目录一览:

  • 1、php 获取client ip的时候transmit是啥,HTTP
  • 2、php获得客户端的ip和端口号?
  • 3、php 获取ip地址,为毛我获取的是 ::1
  • 4、如何使用PHP获取客户端及服务器端IP的封装类

php 获取client ip的时候transmit是啥,HTTP

个人理解服务器如果部署了transmit层的的话,transmit相当一层过滤加反向代理,取REMOTE_ADDR的时候就会取到transmit的ip。这个情况下就不能用REMOTE_ADDR了。

参考一下:【PHP中HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR的使用】

php获得客户端的ip和端口号?

$_SERVER['REMOTE_PORT'];//端口号

$_SERVER['SERVER_ADDR'];//ip

//补充

$_SERVER['HTTP_CLIENT_IP']; //代理端的(有可能存在,可伪造)

$_SERVER['HTTP_X_FORWARDED_FOR']; //用户是在哪个IP使用的代理(有可能存在,也可以伪造)

php 获取ip地址,为毛我获取的是 ::1

你获取到的就是你本地的IP地址,用的是php自带的get_client_ip( ) 吧

你可以在那个方法里给个判断,如果是本地,你让它显示为127.0.0.1,就完事了

如何使用PHP获取客户端及服务器端IP的封装类

本文实例讲述了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 /';

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门