PHP如何获取用户的真实IP

PHP如何获取用户的真实IP,第1张

php获取用户真实ip的方法:

方法1:

//获取REMOTE_ADDR属性,直接可以得到ip

$ip = $_SERVER["REMOTE_ADDR"];

echo $ip;

方法2:

//从Server中获取>

这个跟你的路由设置和访问方式有关。

假设你的服务端在1010501,公网IP都是8888。

假设你的客户端在 101050100-199,出口公网IP是4444

如果你的客户端以公网的形式访问,如>

发一个函数给你

/

  获取客户端IP地址

  @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字

  @param boolean $adv 是否进行高级模式获取(有可能被伪装) 

  @return mixed

 /

function get_client_ip($type = 0,$adv=false) {

    $type       =  $type  1 : 0;

    static $ip  =   NULL;

    if ($ip !== NULL) return $ip[$type];

    if($adv){

        if (isset($_SERVER['>}

如果是本地测试的话,获取到的是127001

<php

header('Content-Type:text/html;Charset=utf-8');

function GetIp(){

$realip = '';

$unknown = 'unknown';

if (isset($_SERVER)){

if(isset($_SERVER['>

//试试这个

function getip(){

if(!empty($_SERVER[">

ip地址分 IPv4和IPV6两个版本。

127001或者19216801之类的,属于IPV4的格式

127001转换为IPv6就是 ::1

IPv6具体的格式写法,你搜索一下了解一下。

另外 ,服务端获取ip地址,是相对的。比如你在局域网内建一个服务器,在程序里获取的ip地址,就是客户端在局域网的ip  ,一般是类似 1921680101 之类的,大公司的话可能  10xxx

局域网的ip地址,可以直接在网络适配器上看到

而在inter网,也就是大网络上,服务端获取的ip地址,是你的连网设备获取到的公网ip ,一般一个局域网内的主机,相对于因特网上的服务器,显示的都是公网地址。

公网ip没有在本机电脑上直接显示。会显示在路由或者连网设备上。也可以通过百度搜索 ip地址,会显示你的公网ip

所以,假设一个局域网内,有两台电脑同时访问一个网上的服务器,服务器是没办法给两台电脑区分开ip地址的,显示的是一样的。只是可能得到的设备信息不一样(如:浏览器的useragent)

以上就是关于PHP如何获取用户的真实IP全部的内容,包括:PHP如何获取用户的真实IP、php网页获取ip并保存到ip.txt、php如何获取局域网内网的IP等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9354701.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存