分析php获取客户端ip,php获取前端数据

本文目录一览:

PHP获取客户端IP

php获取客户端ip地址方法总结

用php获取客户端ip地址的方法,具体代码如下:

?php

$iipp=$_server[“remote_addr”];

echo

$iipp;

?

//////////////////////////////////////////////

?php

$user_ip

=

($_server[“http_via”])

?

$_server[“http_x_forwarded_for”]

:

$_server[“remote_addr”];

$user_ip

=

($user_ip)

?

$user_ip

:

$_server[“remote_addr”];

echo

$user_ip;

?

///////////////////////////////////////////////

?php

function

get_real_ip(){

$ip=false;

if(!empty($_server[“http_client_ip”])){

$ip

=

$_server[“http_client_ip”];

}

if

(!empty($_server[‘http_x_forwarded_for’]))

{

$ips

=

explode

(“,

“,

$_server[‘http_x_forwarded_for’]);

if

($ip)

{

array_unshift($ips,

$ip);

$ip

=

false;

}

for

($i

=

0;

$i

count($ips);

$i++)

{

if

(!eregi

(“^(10|172.16|192.168).”,

$ips[$i]))

{

$ip

=

$ips[$i];

break;

}

}

}

return

($ip

?

$ip

:

$_server[‘remote_addr’]);

}

echo

get_real_ip();

?

///////////////////////////////////////////////

php获取ip的算法:

?php

if

($http_server_vars[“http_x_forwarded_for”])

{

$ip

=

$http_server_vars[“http_x_forwarded_for”];

}

elseif

($http_server_vars[“http_client_ip”])

{

$ip

=

$http_server_vars[“http_client_ip”];

}

elseif

($http_server_vars[“remote_addr”])

{

$ip

=

$http_server_vars[“remote_addr”];

}

elseif

(getenv(“http_x_forwarded_for”))

{

$ip

=

getenv(“http_x_forwarded_for”);

}

elseif

(getenv(“http_client_ip”))

{

$ip

=

getenv(“http_client_ip”);

}

elseif

(getenv(“remote_addr”))

{

$ip

=

getenv(“remote_addr”);

}

else

{

$ip

=

“unknown”;

}

echo

“你的ip:”.$ip

;

?

///////////////////////////////////////////////

?php

if(getenv(‘http_client_ip’))

{

$onlineip

=

getenv(‘http_client_ip’);

}

elseif(getenv(‘http_x_forwarded_for’))

{

$onlineip

=

getenv(‘http_x_forwarded_for’);

}

elseif(getenv(‘remote_addr’))

{

$onlineip

=

getenv(‘remote_addr’);

}

else

{

$onlineip

=

$http_server_vars[‘remote_addr’];

}

echo

$onlineip;

?

用php来获得客户端服务器ip的方法

?php

echo

“当前脚本服务器的主机名:”.gethostbyaddr($_SERVER[‘REMOTE_ADDR’]).”br

/hr

/”;

echo

“获得当前运行PHP脚本(页面)所在的服务器的

IP

地址:”.$_SERVER[‘SERVER_ADDR’].”br

/hr

/”;

echo

“获得当前运行PHP脚本(页面)所在的服务器的

主机名:”.$_SERVER[‘SERVER_NAME’];

echo

‘hr’;

echo

‘客户端ip’.

$_SERVER[‘REMOTE_ADDR’];

echo

‘br’;

echo

‘客户端ip’.getenv(‘REMOTE_ADDR’);

echo

“br”;

echo

‘服务器主机ip’.gethostbyname(“”);

?

运行出来:

当前脚本服务器的主机名:XYL-PC

获得当前运行PHP脚本(页面)所在的服务器的

IP

地址:127.0.0.1

获得当前运行PHP脚本(页面)所在的服务器的

主机名:localhost

客户端ip127.0.0.1

客户端ip127.0.0.1

服务器主机ip61.135.169.105

php获取客户端IP地址的几种方法

//php获取ip的算法

if ($HTTP_SERVER_VARS[“HTTP_X_FORWARDED_FOR”]) 

 $ip = $HTTP_SERVER_VARS[“HTTP_X_FORWARDED_FOR”]; 

elseif ($HTTP_SERVER_VARS[“HTTP_CLIENT_IP”]) 

 $ip = $HTTP_SERVER_VARS[“HTTP_CLIENT_IP”]; 

}

elseif ($HTTP_SERVER_VARS[“REMOTE_ADDR”]) 

 $ip = $HTTP_SERVER_VARS[“REMOTE_ADDR”]; 

elseif (getenv(“HTTP_X_FORWARDED_FOR”)) 

 $ip = getenv(“HTTP_X_FORWARDED_FOR”); 

elseif (getenv(“HTTP_CLIENT_IP”)) 

 $ip = getenv(“HTTP_CLIENT_IP”); 

elseif (getenv(“REMOTE_ADDR”))

 { 

 $ip = getenv(“REMOTE_ADDR”); 

else 

 $ip = “Unknown”; 

echo “你的IP:”.$ip ; 

?

使用PHP怎样获得客户端IP地址?

function getIp()

{

if ($_SERVER[“HTTP_CLIENT_IP”] strcasecmp($_SERVER[“HTTP_CLIENT_IP”], “unknown”)) {

$ip = $_SERVER[“HTTP_CLIENT_IP”];

} else {

if ($_SERVER[“HTTP_X_FORWARDED_FOR”] strcasecmp($_SERVER[“HTTP_X_FORWARDED_FOR”], “unknown”)) {

$ip = $_SERVER[“HTTP_X_FORWARDED_FOR”];

} else {

if ($_SERVER[“REMOTE_ADDR”] strcasecmp($_SERVER[“REMOTE_ADDR”], “unknown”)) {

$ip = $_SERVER[“REMOTE_ADDR”];

} else {

if (isset ($_SERVER[‘REMOTE_ADDR’]) $_SERVER[‘REMOTE_ADDR’] strcasecmp($_SERVER[‘REMOTE_ADDR’],

“unknown”)

) {

$ip = $_SERVER[‘REMOTE_ADDR’];

} else {

$ip = “unknown”;

}

}

}

}

return ($ip);

}

echo getIp();

PHP如何获取客户端真实IP

如果将这个函数应用到限IP访问的网页中,别人即使通过限IP访问段中的代理服务器,也不能访问该页面。

下面提供一个函数:?php

// 定义一个函数getIP()

function getIP(){global $ip;

if (getenv(“HTTP_CLIENT_IP”))

$ip = getenv(“HTTP_CLIENT_IP”);

else if(getenv(“HTTP_X_FORWARDED_FOR”))

$ip = getenv(“HTTP_X_FORWARDED_FOR”);

else if(getenv(“REMOTE_ADDR”))

$ip = getenv(“REMOTE_ADDR”);else$ip = “Unknow”;

return $ip;}

// 使用方法:

echo getIP();?

getenv(“REMOTE_ADDR”)用来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用 getenv(“HTTP_X_FORWARDED_FOR”) 来读取。

但是如果客户端没有通过代理服务器来访问,那么用getenv(“HTTP_X_FORWARDED_FOR”) 取到的值将是空的。

else if(getenv(“HTTP_X_FORWARDED_FOR”))

$ip = getenv(“HTTP_X_FORWARDED_FOR”);

表示如果getenv(“HTTP_X_FORWARDED_FOR”) 取到的值存在不为空(即客户端使用代理服务器的情况下),则变量$ip等于getenv(“HTTP_X_FORWARDED_FOR”) 取到的真实IP值。

如果上面的else if(getenv(“HTTP_X_FORWARDED_FOR”))取得的值为空(即没有使用代理服务器),则不会执行下面的$ip = getenv(“HTTP_X_FORWARDED_FOR”);这一行语句。

这种情况下已经确认客户端没有使用代理服务器,从而通过

else if(getenv(“REMOTE_ADDR”))

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/286977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-23 13:06
下一篇 2024-12-23 13:06

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python读取CSV数据画散点图

    本文将从以下方面详细阐述Python读取CSV文件并画出散点图的方法: 一、CSV文件介绍 CSV(Comma-Separated Values)即逗号分隔值,是一种存储表格数据的…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • 如何用Python统计列表中各数据的方差和标准差

    本文将从多个方面阐述如何使用Python统计列表中各数据的方差和标准差, 并给出详细的代码示例。 一、什么是方差和标准差 方差是衡量数据变异程度的统计指标,它是每个数据值和该数据值…

    编程 2025-04-29
  • Python多线程读取数据

    本文将详细介绍多线程读取数据在Python中的实现方法以及相关知识点。 一、线程和多线程 线程是操作系统调度的最小单位。单线程程序只有一个线程,按照程序从上到下的顺序逐行执行。而多…

    编程 2025-04-29
  • Python爬取公交数据

    本文将从以下几个方面详细阐述python爬取公交数据的方法: 一、准备工作 1、安装相关库 import requests from bs4 import BeautifulSou…

    编程 2025-04-29
  • Python两张表数据匹配

    本篇文章将详细阐述如何使用Python将两张表格中的数据匹配。以下是具体的解决方法。 一、数据匹配的概念 在生活和工作中,我们常常需要对多组数据进行比对和匹配。在数据量较小的情况下…

    编程 2025-04-29
  • Python数据标准差标准化

    本文将为大家详细讲述Python中的数据标准差标准化,以及涉及到的相关知识。 一、什么是数据标准差标准化 数据标准差标准化是数据处理中的一种方法,通过对数据进行标准差标准化可以将不…

    编程 2025-04-29
  • Centos7配置静态ip

    本文将详细阐述如何在Centos7系统中配置静态ip。 一、查看网络接口 在配置静态ip之前,我们首先需要查看系统中的网络接口,以确定我们需要配置的网卡是哪一个。 ifconfig…

    编程 2025-04-29
  • 如何使用Python读取CSV数据

    在数据分析、数据挖掘和机器学习等领域,CSV文件是一种非常常见的文件格式。Python作为一种广泛使用的编程语言,也提供了方便易用的CSV读取库。本文将介绍如何使用Python读取…

    编程 2025-04-29

发表回复

登录后才能评论