Cloudflare 取客户ip C#和php代码

一·C#Cloudflare 取客户ip

using Microsoft.AspNetCore.Http;
using System.Linq;

namespace myproject.Extensions
{
    public static class HttpContextAccessorExtensions
    {
        public static string GetIpAddress(this IHttpContextAccessor accessor)
        {
            if (!string.IsNullOrEmpty(accessor.HttpContext.Request.Headers["CF-CONNECTING-IP"]))
                return accessor.HttpContext.Request.Headers["CF-CONNECTING-IP"];

            var ipAddress = accessor.HttpContext.GetServerVariable("HTTP_X_FORWARDED_FOR");

            if (!string.IsNullOrEmpty(ipAddress))
            {
                var addresses = ipAddress.Split(',');
                if (addresses.Length != 0)
                    return addresses.Last();
            }

            return accessor.HttpContext.Connection.RemoteIpAddress.ToString();
        }
    }
}

二·Cloudflare 取客户ip

<?php
if (empty($_SERVER['HTTP_CF_CONNECTING_IP'])) 
{
$ip =$_SERVER['REMOTE_ADDR'];
}else
{
$ip =$_SERVER['HTTP_CF_CONNECTING_IP'];
}


if (empty($ip)) {
    $ip = $_SERVER['REMOTE_ADDR'];
}
echo $ip;
?>

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容