web后台获取ip地址,前台js获取ip地址

方法一:

           string user_IP;

            if(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"]!=null)

            { 

                user_IP=System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); 

            }

         else

          { 

        user_IP=System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); 

            } 

 

Request.ServerVariables变量意义.  http代理相关知识

Request.ServerVariables["HTTP_VIA"]---------可以获得用户内部的ip

Request.ServerVariables["HTTP_X_FORWARDED_FOR"]---------可以知道代理服务器的服务器名以及端口

Request.ServerVariables["REMOTE_ADDR"]--发出请求的远程主机的IP地址。

http代理相关知识

关键就在HTTP_X_FORWARDED_FOR

使用不同种类代理服务器,上面的信息会有所不同:

一、没有使用代理服务器的情况:

REMOTE_ADDR = 您的 IP

HTTP_VIA = 没数值或不显示

HTTP_X_FORWARDED_FOR = 没数值或不显示

二、使用透明代理服务器的情况:Transparent Proxies

REMOTE_ADDR = 代理服务器 IP

HTTP_VIA = 代理服务器 IP

HTTP_X_FORWARDED_FOR = 您的真实 IP

这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

三、使用普通匿名代理服务器的情况:Anonymous Proxies

REMOTE_ADDR = 代理服务器 IP

HTTP_VIA = 代理服务器 IP

HTTP_X_FORWARDED_FOR = 代理服务器 IP

隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。

四、使用欺骗性代理服务器的情况:Distorting Proxies

REMOTE_ADDR = 代理服务器 IP

HTTP_VIA = 代理服务器 IP

HTTP_X_FORWARDED_FOR = 随机的 IP

告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。

五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)

REMOTE_ADDR = 代理服务器 IP

HTTP_VIA = 没数值或不显示

HTTP_X_FORWARDED_FOR = 没数值或不显示

 

方法二:

using System.net

string myIP;

   System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;

   if ( addressList.Length>1)

   {

    myIP = addressList[0].ToString(); 

   }

   else

   {

    myIP = addressList[0].ToString(); 

   }

方法三:通过JS获取

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢                                                         

asp.net获取IP地址 - 听★☆雨 - 魂の冢asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢 
MAC地址:

asp.net获取IP地址 - 听★☆雨 - 魂の冢 
IP地址:

asp.net获取IP地址 - 听★☆雨 - 魂の冢 
主机名:

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢 var sMacAddr="";

asp.net获取IP地址 - 听★☆雨 - 魂の冢 var sIPAddr="";

asp.net获取IP地址 - 听★☆雨 - 魂の冢 var sDNSName="";

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢 var service = locator.ConnectServer();

asp.net获取IP地址 - 听★☆雨 - 魂の冢 service.Security_.ImpersonationLevel=3;

asp.net获取IP地址 - 听★☆雨 - 魂の冢 service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

        if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)

{

                          if(objObject.IPEnabled && objObject.IPAddress(0) !=null && objObject.IPAddress(0) != "undefined")

                                        sIPAddr = objObject.IPAddress(0);

                          if(objObject.MACAddress != null &&objObject.MACAddress != "undefined")

                    sMacAddr = objObject.MACAddress;

                          if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined")

                                        sDNSName = objObject.DNSHostName;

         }

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢

asp.net获取IP地址 - 听★☆雨 - 魂の冢       myForm.macAddress.value=sMacAddr;

asp.net获取IP地址 - 听★☆雨 - 魂の冢 myForm.ipAddress.value=sIPAddr;

asp.net获取IP地址 - 听★☆雨 - 魂の冢       myForm.hostName.value=sDNSName;

asp.net获取IP地址 - 听★☆雨 - 魂の冢


你可能感兴趣的:(Asp.net后台)