C# 用于獲取用戶ip地址的輔助類代碼

likeo 9年前發布 | 4K 次閱讀 C#

這個C#類用于獲取用戶的訪問ip地址,這個C#類可以獲取通過代理服務器訪問的用戶的真實ip地址,同時判斷ip地址的正確性,如果ip地址格式錯誤,將會返回1.1.1.1

namespace DotNet.Utilities
{
    /// <summary>
    /// 共用工具類
    /// </summary>
    public static class IpHelper
    {

    #region 獲得用戶IP
    /// <summary>
    /// 獲得用戶IP
    /// </summary>
    public static string GetUserIp()
    {
        string ip;
        string[] temp;
        bool isErr = false;
        if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"] == null)
            ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
        else
            ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();
        if (ip.Length > 15)
            isErr = true;
        else
        {
            temp = ip.Split('.');
            if (temp.Length == 4)
            {
                for (int i = 0; i < temp.Length; i++)
                {
                    if (temp[i].Length > 3) isErr = true;
                }
            }
            else
                isErr = true;
        }

        if (isErr)
            return "1.1.1.1";
        else
            return ip;
    }
    #endregion



}

} </pre>

 本文由用戶 likeo 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!