IPを取得

2257 ワード

 <script type="text/javascript">
        function dd() {
            var str = "<%=GetIP()%>";
            alert(str);
        }
    </script>


 <input id="Button2" type="button" value="button" onclick="dd();" />

public static string GetIP()
        {
            string reIp = "";
            if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] == null || System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().IndexOf("unknown") > -1)
            {
                reIp = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            }
            else if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().IndexOf(",") > -1)
            {
                reIp = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Substring(1, System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].IndexOf(",") - 1);
            }
            else if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString().IndexOf(";") > -1)
            {
                reIp = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Substring(1, System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].IndexOf(":") - 1);
            }
            else
            {
                reIp = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            }
            if (reIp.Length > 30)
            {
                reIp = reIp.Trim().Substring(0, 29);
            }
            else
            {
                reIp = reIp.Trim();
            }
            return reIp;
        }