亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#獲取真實IP地址(IP轉為長整形、判斷是否內網IP的方法)

2020-01-24 02:34:10
字體:
來源:轉載
供稿:網友

今天查看登錄日志,發現http_x_forwarded_for獲取到的ip地址有些是內網ip地址,有些則是公網和內網ip地址一起獲取到,用逗號分隔開,日志截圖如下:

之前獲取ip地址的C#代碼如下:

復制代碼 代碼如下:

    /// <summary>
    /// C#獲取客戶端真實IP地址
    /// </summary>
    /// <returns></returns>
    public static string GetIP()
    {
        string ip = HttpContext.Current.Request.ServerVariables["http_x_forwarded_for"];
        if (UserCheck.IsNull(ip)) ip = HttpContext.Current.Request.ServerVariables["remote_addr"];
        return ip;
    }

看來http_x_forwarded_for應該是被其他軟件或者ISP修改過了,導致http_x_forwarded_for得不到真實的代理ip地址。之前登陸日志是要判斷ip地址是否在允許的ip段內的,這樣導致無法登陸系統。最后修改代碼如下,增加判斷是否為內網或者私有地址,是否符合ipv4的地址規格,不符合還是使用remote_addr來獲取客戶端的ip地址。

比較安全的獲取真實地址的實現代碼:

復制代碼 代碼如下:

 /// <summary>
    /// C#將IP地址轉為長整形
    /// </summary>
    /// <param name="ip"></param>
    /// <returns></returns>
    public static long IpToNumber(string ip)
    {
        string[] arr = ip.Split('.');
        return 256 * 256 * 256 * long.Parse(arr[0]) + 256 * 256 * long.Parse(arr[1]) + 256 * long.Parse(arr[2]) + long.Parse(arr[3]);
    }
    /// <summary>
    /// C#判斷IP地址是否為私有/內網ip地址
    /// </summary>
    /// <param name="ip"></param>
    /// <returns></returns>
    public static bool IsPrivateIp(string ip)
    {
        long ABegin = IpToNumber("10.0.0.0"), AEnd = IpToNumber("10.255.255.255"),//A類私有IP地址
         BBegin = IpToNumber("172.16.0.0"), BEnd = IpToNumber("172.31.255.255"),//'B類私有IP地址
         CBegin = IpToNumber("192.168.0.0"), CEnd = IpToNumber("192.168.255.255"),//'C類私有IP地址
         IpNum = IpToNumber(ip);
        return (ABegin <= IpNum && IpNum <= AEnd) || (BBegin <= IpNum && IpNum <= BEnd) || (CBegin <= IpNum && IpNum <= CEnd);
    }
    /// <summary>
    /// C#獲取真實IP地址
    /// </summary>
    /// <returns></returns>
    public static string GetIP()
    {
        string ip = HttpContext.Current.Request.ServerVariables["http_x_forwarded_for"];
        if (UserCheck.IsNull(ip)) ip = HttpContext.Current.Request.ServerVariables["remote_addr"];
        else//代理ip地址有內容,判斷是否符合ipv4地址或者是否為內網地址
        {
            ip = ip.Trim().Replace(" ", "");
            if (!Regex.IsMatch(ip, @"^/d+(/./d+){3}$") || IsPrivateIp(ip))
                ip = HttpContext.Current.Request.ServerVariables["remote_addr"];//不符合規則或者內網/私有地址使用remote_addr代替
        }
        return ip;
    }

2014-07-02更新:原來是 cdn加速的問題,cdn加速后,由于先判斷http_x_forwarded_for,http_x_forwarded_for是隨便可以偽造的,放置任何內容的,所以下圖出現的ip地址中會有內網地址或者出現2個ip地址的問題。所以獲取http_x_forwarded_for內容時需要 split下獲取第一個項。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线一级视频| 久久99国产精品自在自在app| 欧美在线精品免播放器视频| 欧美性猛交xxxx富婆弯腰| 国产精品99久久久久久久久| 亚洲日韩欧美视频一区| 欧美老女人bb| 中文字幕久久精品| 日韩国产精品视频| 成人午夜在线观看| 日韩电影大全免费观看2023年上| 欧美又大粗又爽又黄大片视频| 亚洲香蕉成人av网站在线观看| 亚洲天堂av在线播放| 青青在线视频一区二区三区| 国产精品久久久久久久久男| 国产日韩在线播放| 国产福利视频一区二区| 久久综合伊人77777蜜臀| 精品中文字幕乱| 午夜精品在线观看| 久久天天躁夜夜躁狠狠躁2022| 97在线免费观看视频| 久久九九全国免费精品观看| 国产成人福利夜色影视| 岛国av一区二区| 国产日韩欧美日韩大片| 国产精品入口免费视频一| 中文字幕av一区| 国产福利精品视频| 精品亚洲一区二区三区在线播放| 亚洲免费影视第一页| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品自产拍在线观看中文| 日韩亚洲成人av在线| 久久精品国产成人精品| 久久偷看各类女兵18女厕嘘嘘| 亚洲二区中文字幕| 91精品国产91久久久久久久久| 热久久免费视频精品| 91av在线看| 亚洲一区二区三区成人在线视频精品| 日韩有码视频在线| 欧美一区视频在线| 97精品一区二区三区| 欧美人与性动交a欧美精品| 国产日韩欧美中文在线播放| 日本精品久久电影| 亚洲精品国产免费| 精品久久久香蕉免费精品视频| 国产欧美精品在线播放| 日韩电影中文字幕| 欧美日韩成人在线播放| 国语自产精品视频在线看抢先版图片| 97视频在线观看亚洲| 黄色精品在线看| 亚洲天天在线日亚洲洲精| 亚洲人成欧美中文字幕| 欧美www在线| 狠狠操狠狠色综合网| 在线播放亚洲激情| 亚洲国产成人精品久久| 国产97色在线|日韩| 国产91对白在线播放| 亚洲欧洲日韩国产| 国产盗摄xxxx视频xxx69| www.久久色.com| 日韩视频欧美视频| 狠狠躁18三区二区一区| 在线播放国产一区二区三区| 亚洲第一综合天堂另类专| 国产亚洲美女精品久久久| 国产亚洲欧美日韩精品| 国产精品久久电影观看| 国产精品久久精品| 51久久精品夜色国产麻豆| 亚洲精品动漫久久久久| 欧美日韩美女在线| 大伊人狠狠躁夜夜躁av一区| 欧美人交a欧美精品| 久久国产天堂福利天堂| 久久久久久久久电影| 国产精品女主播| 亚洲激情在线观看视频免费| 青青草成人在线| 久久久久久久国产精品| 亚洲女同性videos| 欧美精品日韩三级| 国产成人福利夜色影视| 日韩中文字幕av| 日本精品久久久久影院| 国产成人亚洲综合91| 亚洲国产另类 国产精品国产免费| 亚洲国产高潮在线观看| 成人性生交大片免费看小说| 久久精品这里热有精品| 红桃av永久久久| 久久国内精品一国内精品| 国产香蕉97碰碰久久人人| 欧美日韩另类视频| 国产成+人+综合+亚洲欧洲| 欧美激情女人20p| 久久中文字幕在线| 亚洲夜晚福利在线观看| 国产欧美va欧美va香蕉在| 亚洲白拍色综合图区| 欧美一级片久久久久久久| 亚洲精品自产拍| 色爱av美腿丝袜综合粉嫩av| 亚洲的天堂在线中文字幕| 日韩国产中文字幕| 日韩免费高清在线观看| 国产午夜精品一区二区三区| 久久久久久亚洲精品不卡| 久久夜精品va视频免费观看| 中文字幕av一区中文字幕天堂| 九九精品在线视频| 国产91在线播放九色快色| 中文字幕亚洲图片| 久久久久久午夜| 日本19禁啪啪免费观看www| 北条麻妃99精品青青久久| 精品无码久久久久久国产| 亚洲人成网站999久久久综合| 欧美精品在线网站| 黑人巨大精品欧美一区二区三区| 国产91精品不卡视频| 久久免费视频网| 欧美日韩国产第一页| 国产精品久久久久久久av大片| 久久99国产精品久久久久久久久| 一本色道久久综合狠狠躁篇的优点| 亚洲免费视频一区二区| 亚洲福利小视频| 在线精品播放av| 热久久美女精品天天吊色| 综合国产在线视频| 日韩欧美在线视频| 伦伦影院午夜日韩欧美限制| 久久久久久久久久久成人| 国产精品自拍偷拍| 91精品国产综合久久香蕉922| 国产日本欧美一区二区三区| 日韩在线观看免费全| 久久久人成影片一区二区三区观看| 韩国精品久久久999| 亚洲精品国产精品国自产观看浪潮| 2019国产精品自在线拍国产不卡| 欧美成人精品一区二区| 国产精品黄页免费高清在线观看| 欧美日韩高清在线观看| 国内外成人免费激情在线视频| 欧美色videos| 亚洲综合中文字幕在线观看| 日韩av网站导航| 国产精品高精视频免费| 国产精品美女主播| 欧美激情一区二区三区成人| 色噜噜国产精品视频一区二区| 久久综合九色九九| 亚洲午夜av电影| 久久亚洲春色中文字幕| 成人精品一区二区三区电影黑人| 51精品国产黑色丝袜高跟鞋|