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地址 - 听★☆雨 - 魂の冢<html>

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

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

asp.net获取IP地址 - 听★☆雨 - 魂の冢<meta http-equiv="Content-Type" content="text/html; charset=gbk">

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

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

asp.net获取IP地址 - 听★☆雨 - 魂の冢<object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object>

asp.net获取IP地址 - 听★☆雨 - 魂の冢<object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object>                                                         

asp.net获取IP地址 - 听★☆雨 - 魂の冢asp.net获取IP地址 - 听★☆雨 - 魂の冢<form name="myForm">

asp.net获取IP地址 - 听★☆雨 - 魂の冢 <br/>MAC地址:<input type="text" name="macAddress">

asp.net获取IP地址 - 听★☆雨 - 魂の冢 <br/>IP地址:<input type="text" name="ipAddress">

asp.net获取IP地址 - 听★☆雨 - 魂の冢 <br/>主机名:<input type="text" name="hostName">

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

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

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

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

asp.net获取IP地址 - 听★☆雨 - 魂の冢<script language="javascript">

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地址 - 听★☆雨 - 魂の冢</script>

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

asp.net获取IP地址 - 听★☆雨 - 魂の冢<script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">

        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地址 - 听★☆雨 - 魂の冢</script>

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

asp.net获取IP地址 - 听★☆雨 - 魂の冢<script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">

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地址 - 听★☆雨 - 魂の冢</script>


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java后台获取用户IP地址有多种方法,其中一种常用的方法是使用HttpServletRequest类的getRemoteAddr()方法获取用户IP地址。具体步骤如下: 1. 在Java后台中,创建一个Servlet或者Controller类,接收用户的请求。 2. 在该类的方法中,使用HttpServletRequest类的getRemoteAddr()方法获取用户的IP地址。 3. 将用户的IP地址保存到数据库中进行统计或者分析。 以下是一个示例代码,可以获取用户的IP地址并将其保存到数据库中: ```java import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class UserController { @RequestMapping(value = "/user", method = RequestMethod.GET) @ResponseBody public String getUser(HttpServletRequest request) { String ip = request.getRemoteAddr(); // 将用户的IP地址保存到数据库中 // ... return "Hello, your IP address is " + ip; } } ``` 在上面的示例代码中,我们使用了Spring MVC框架,通过RequestMapping注解来处理用户的请求。在getUser方法中,我们使用HttpServletRequest类的getRemoteAddr()方法获取用户的IP地址,并将其保存到数据库中。 注意:在使用getRemoteAddr()方法获取用户IP地址时,由于存在代理服务器等网络设备,可能会导致获取到的IP地址不是用户真实的IP地址。如果需要获取用户真实的IP地址,可以使用其他方法,例如通过HTTP头部信息获取

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值