使用 cloudflare 后,PHP 获取用户真实请求 IP

文章目录

    之前是使用 PHP 的 BUG 之王框架 ThinkPHP 的 get_client_ip 的实现,利用

    $_SERVER['REMOTE_ADDR']
    

    获取到的是 cloudflare 的节点 IP,而不是用户的真实请求 IP

    162.158.118.50
    日本	东京都	东京	cloudflare.com
    ========================
    162.158.118.156
    日本	东京都	东京	cloudflare.com
    ========================
    

    使用 cloudflare 后,PHP 获取用户真实请求 IP

    如果要获取用户的真实 IP,就需要使用 cloudflare 提供的信息

    // 用户 IP 地址
    $_SERVER["HTTP_CF_CONNECTING_IP"]
    
    // 用户的国家代码,例如 CN, EN, CA 等
    $_SERVER["HTTP_CF_IPCOUNTRY"] 
    

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式