网站地图 | Sitemap | Rss
  • 您当前位置:网站首页 >> PHP学习 >> 使用华为云CDN如何读取真实访客IP
  • 使用华为云CDN如何读取真实访客IP

    来源:逍遥峡谷 发布时间:2018-11-24 更新时间:2018-11-24 浏览0条评论
    内容简介

    相关关键词:华为云   CDN   真实IP  

    本文链接:https://www.icoa.cn/a/857.html

    本站文章如非注明皆为原创,未经允许禁止转载。如有问题可以给我留言或发邮件。

    网站经常会需要读取访客的IP,但是使用CDN或者WAF之后,你使用 REMOTE_ADDR 读取到的IP地址其实是CDN节点的IP,不是访客真实的IP。

    那么如何才能读取访客真实的IP呢?前段时间试用了华为云的CDN之后就遇到了这个问题。

    经过测试,发现华为云的CDN可以使用 HTTP_CDN_SRC_IP  来读取访客的真实IP。

    PHP Code

    $ip = $_SERVER['HTTP_CDN_SRC_IP'])

    ASP Code

    ip = Request.ServerVariables("HTTP_CDN_SRC_IP")

    这样之后就能用 $ip 或 ip 来使用真实IP了。

    但是还有一个问题,我们不用CDN的时候,又需要修改代码来使用 REMOTE_ADDR 读取访客IP,非常麻烦。

    所以我们可以将代码进行修改,让我们无论在什么情况下,读取的都是真实的访客IP。

    先看代码:

    PHP Code

    if (isset($_SERVER['HTTP_CDN_SRC_IP'])){
    //判断CDN IP是否存在,如果存在
        $IP = $_SERVER['HTTP_CDN_SRC_IP'];
    }
    else {
    //如果CDN IP不存在,则
        $IP = $_SERVER['REMOTE_ADDR'];
    }

    ASP Code

    if Request.ServerVariables("HTTP_CDN_SRC_IP")<>"" then
    '判断CDN IP不为空
        ip = Request.ServerVariables("HTTP_CDN_SRC_IP")
    else
        ip = Request.ServerVariables("REMOTE_ADDR")
    end if

    是不是很简单,后续可以使用 $ip 和 ip 变量来调用真实IP了。

    本文链接:https://www.icoa.cn/a/857.html
    关键词: 华为云   CDN   真实IP  

    下一篇:PHP CGI 进程占用CPU过高导致CPU使用达到100%的另类原因


    - 相关文章 -


    最基本的 SQL 命令行语句并详解( MySQL 语句 ) - 2010-11-12

    PHP中如何去掉字符串首尾空格 - 2013-12-12

    php使用strlen()判断字符串长度 - 2013-12-12

    MySQL命令行导入导出数据库 - 2013-10-20

    mysql新建用户与远程访问 zt - 2010-10-18

    PHP用substr函数截取字符串中的某部分 - 2012-12-27

    #2002 – 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正 - 2010-10-15

    用PHP读写文本文档制作最简单的访问计数器 - 2010-10-13


    - 文章评论 -




    2444

    [由于政策原因,您的留言如果提交成功后,需要审核才能展示,请改天再来查看,请不要重复提交,谢谢支持!]

    - 最新评论[0条评论] -


    [>>>点击查看更多评论]

    逍遥峡谷 逍遥乱弹 张立博 爱之路 酷品优选 宝贝派

    版权所有©逍遥峡谷 - 智能中央超自然局·地球总部 | 冀ICP备06033848号
    Copyright©Intelligence Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合
    网络违法犯罪举报