获取IP地址的⼏种⽅式
1.获取服务器IP地址:
服务器地址1) Local_Addr
var Local_Addr = Request.ServerVariables.Get("Local_Addr").ToString()
2.获取客户端IP地址:
X-Forwarded-For, X-Real-IP, remote_addr是http协议中⽤来表⽰客户端地址的请求头
1) HTTP_REMOTEIP
var HTTP_REMOTEIP = HttpContext.Request.Headers["HTTP_REMOTEIP"];
表⽰发出请求的远程主机的IP 地址,remote_addr表明客户端的IP,但它的值不是由客户端提供的,⽽是服务端根据客户端的ip指定的,当你的浏览器访问某个⽹站时,假设中间没有任何代理,那么⽹站的web(,Apache等)就会把remote_addr设为你的机器IP,若是你⽤了某个代理,那么你的浏览器会先访问这个代理,⽽后再由这个代理转发到⽹站,这样web服务器就会把remote_addr设为这台代理机器的IPhtml
2) HTTP_X_FORWARDED_FOR
var HTTP_X_FORWARDED_FOR = HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
简称XFF头,它表明客户端,也就是HTTP的请求端真实的IP,只有在经过了HTTP 代理或者负载均衡服务器时才会添加该项,正如上⾯所述,当你使⽤了代理时,web服务器就不知道你的真实IP了,为了不这个状况,代理服务器⼀般会增长⼀个叫作x_forwarded_for的头信息,把链接它的客户端IP(即你的上⽹机器IP)加到这个头信息⾥,这样就能保证⽹站的web服务器能获取到真实IPnginx
3) HTTP_X_REAL_IP
var HTTP_X_REAL_IP = HttpContext.Request.ServerVariables["HTTP_X_REAL_IP"];
⽤来记录服务器的地址,但是和X-Forwarded-For的不同,它不把记录添加到结尾,⽽是直接替换
4) UserHostAddress
var UserHostAddress = HttpContext.Request.UserHostAddress;
这个直接通过request获取客户端IP,注意客户端可以通过修改 UserHostAddress进⾏ip的伪造修改
1、获取客户端IP:Request.ServerVariables.Get("Remote_Addr").ToString();
2、获取客户端主机名:Request.ServerVariables.Get("Remote_Host").ToString();
3、获取客户端浏览器:Request.Browser.Browser;
4、获取客户端浏览器版本号:Request.Browser.MajorVersion;
5、获取客户端操作系统:Request.Browser.Platform;
6、获取服务器IP:Request.ServerVariables.Get("Local_Addr").ToString();
7、获取服务器名:Request.ServerVariables.Get("Server_Name").ToString();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。