好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php请求ip php请求ipv6

很多站长朋友们都不太清楚php请求ip,今天小编就来给大家整理php请求ip,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php怎样获取IP地址 2、 PHP如何获取真实IP地址 3、 如何用php获取客户端正确的ip地址 4、 PHP如何获取外网IP地址,类似于百度查询到的IP,网上的方法,查询到的都是局域网(内网)的IP, 5、 php怎样获取用户真实ip? 6、 php到底怎么获取IP地址,为什么三种方法获取的IP都不一样? php怎样获取IP地址

if (!empty($_SERVER['HTTP_CLIENT_IP']))

$ip = $_SERVER['HTTP_CLIENT_IP'];

else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))

$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

else

$ip = $_SERVER['REMOTE_ADDR'];

PHP如何获取真实IP地址

//最简单获取ip地址代码一句实例

$reIP=$_SERVER["REMOTE_ADDR"];

echo $reIP;

//

//php教程获取ip的算法

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;

//可以分出内网与外网站ip地址获取程序

function getip_out(){

$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 getip_out();

//php获取ip的算法,用了?号表达式来处理

$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];

$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

希望会对你有所帮助

如何用php获取客户端正确的ip地址

可以看一下下面的这个封装函数,兼容所有浏览器

<?php

function getip() {

    if (getenv ( "http_client_ip" )  strcasecmp ( getenv ( "http_client_ip" ), "unknown" ))

        $ip = getenv ( "http_client_ip" );

    else if (getenv ( "http_x_forwarded_for" )  strcasecmp ( getenv ( "http_x_forwared_for" ), "unknown" ))

        $ip = getenv ( "http_x_forwarded_for" );

    else if (getenv ( "remote_addr" )  strcasecmp ( getenv ( "remote_addr" ), "unknown" ))

        $ip = getenv ( "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,

发一个函数给你.

/**

 * 获取客户端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['HTTP_X_FORWARDED_FOR'])) {

            $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);

            $pos    =   array_search('unknown',$arr);

            if(false !== $pos) unset($arr[$pos]);

            $ip     =   trim($arr[0]);

        }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {

            $ip     =   $_SERVER['HTTP_CLIENT_IP'];

        }elseif (isset($_SERVER['REMOTE_ADDR'])) {

            $ip     =   $_SERVER['REMOTE_ADDR'];

        }

    }elseif (isset($_SERVER['REMOTE_ADDR'])) {

        $ip     =   $_SERVER['REMOTE_ADDR'];

    }

    // IP地址合法验证

    $long = sprintf("%u",ip2long($ip));

    $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);

    return $ip[$type];

}

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

php怎样获取用户真实ip?

获取客户端ip其实不是个简单的事儿,因为存在IP欺骗,和代理问题,所以获取客户端的IP的真实性会打折扣的,不能百分百准确。但是我们还是可以尽量写一些比较完善的获取客户端真正ip方法。使用php获取IP的方法能有很多,我简单给个例子:

<?php

function getip() { 

     $unknown = 'unknown'; 

     if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])  $_SERVER['HTTP_X_FORWARDED_FOR']  strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)){ 

         $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 

     }elseif(isset($_SERVER['REMOTE_ADDR'])  $_SERVER['REMOTE_ADDR']  strcasecmp($_SERVER['REMOTE_ADDR'], $unknown)) { 

         $ip = $_SERVER['REMOTE_ADDR']; 

     } 

     /**

      * 处理多层代理的情况

      * 或者使用正则方式:$ip = preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : $unknown;

      */

     if (false !== strpos($ip, ',')) $ip = reset(explode(',', $ip)); 

     return $ip; 

} 

?>

1、没有使用代理的情况

REMOTE_ADDR = 客户端IP

    HTTP_X_FORWARDED_FOR = 没数值或不显示

2、使用透明代理的情况

REMOTE_ADDR = 最后一个代理服务器 IP

    HTTP_X_FORWARDED_FOR = 客户端真实 IP (经过多个代理服务器时,这个值类似:        221.5.252.160, 203.98.182.163, 203.129.72.215)

    这类代理服务器还是将客户端真实的IP发送给了访问对象,无法达到隐藏真实身份的目的.

3、使用普通的匿名代理

REMOTE_ADDR = 最后一个代理服务器 IP

    HTTP_X_FORWARDED_FOR = 代理服务器 IP (经过多个代理服务器时,这个值类似:        203.98.182.163, 203.98.182.163, 203.129.72.215)

    这种情况下隐藏了客户端的真实IP,但是向访问对象透露了客户端是使用代理服务器访问它        们的.

4、使用欺骗性代理服务器

REMOTE_ADDR = 代理服务器 IP

    HTTP_X_FORWARDED_FOR = 随机的 IP(经过多个代理服务器时,这个值类似:                    220.4.251.159, 203.98.182.163, 203.129.72.215)

    这种情况下同样透露了客户端是使用了代理服务器,但编造了一个虚假的随机                            IP(220.4.251.159)代替客户端的真实IP来欺骗它.

5、使用高级匿名代理服务器

REMOTE_ADDR = 代理服务器 IP

    HTTP_X_FORWARDED_FOR = 没数值或不显示,也可能是unknown

php到底怎么获取IP地址,为什么三种方法获取的IP都不一样?

php获取真实IP地址,参考方法如下:

function GetIP(){ 

if (getenv("HTTP_CLIENT_IP")  strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 

$ip = getenv("HTTP_CLIENT_IP"); 

else if (getenv("HTTP_X_FORWARDED_FOR")  strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) 

$ip = getenv("HTTP_X_FORWARDED_FOR"); 

else if (getenv("REMOTE_ADDR")  strcasecmp(getenv("REMOTE_ADDR"), "unknown")) 

$ip = getenv("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); 

}

关于php请求ip的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php请求ip php请求ipv6的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did165450
更新时间:2023-02-17   阅读:52次

上一篇: php获取image值 php读取图片

下一篇:phppost请求限制 php接受post请求

相关资讯

最新资料更新

  • 1.DEDECMS的20位MD5加密密文解密示例介绍
  • 2.DEDE调用分类及分类下文章并限制标题字数及显示条数
  • 3.DedeCms制作谷歌xml格式网站地图的方法
  • 4.关于制作织梦的网站地图实例的示例代码
  • 5.dedecms怎么设置当三级栏目为空时不显示同级栏目
  • 6.dedecms织梦模板点击图片进入下一分页或下篇文章标签
  • 7.dedecms列表页与详情页调用tag标签的方法
  • 8.dede调用其他栏目的文章或者缩略图列表且有分页效果的方法
  • 9.织梦DEDECMS提示信息提示框美化
  • 10.开启DedeCMS软件源码及分类信息采集功能的方法
  • 11.Dedecms获取登录用户名与ID号的方法
  • 12.织梦DedeCms取消后台登陆验证码的方法示例
  • 13.dedecms使用getall获取当前页面tag标签(超连接)的方法
  • 14.dedecms实现任意页面调用当前会员信息的方法
  • 15.DEDECMS在PHP5.4不能正常运行的解决方法
  • 16.dedeCms批量修改文章发布时间的方法
  • 17.dedecms织梦手机模板使用和制作方法
  • 18.DedeCMS Error Warning!提示信息的修改方法
  • 19.dede标签云如何生成不同颜色、不同大小的tag标签
  • 20.织梦上传服务器后出现数据连接失败是怎么回事如何解决

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]