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

    iCoA首席特工 逍遥峡谷 发布: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 7.4.5 之后出现500错误的原因和解决办法

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


    - 相关文章 -


    早期版本升级PHP 7.4.5 之后出现500错误的原因和解决办法 - 2020-04-20

    Linux系统启动过程和登录方式 - 2011-11-07

    Linux挂载点与硬盘分区的关系 - 2011-11-07

    WordPress更换域名简单教程 - 2011-10-28

    Linux新手必知的12个基本命令 - 2011-10-09

    使用华为云CDN如何读取真实访客IP - 2018-11-24

    PHP CGI 进程占用CPU过高导致CPU使用达到100%的另类原因 - 2018-11-21

    常见编程语言中的注释符号和格式 - 2017-12-19


    - 文章评论 -




    4106

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

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


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

    版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 | 逍遥峡谷 · 酷品优选
    Copyright©Interstellar Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合

    冀公网安备13011102001055号 · 冀ICP备06033848号