zoukankan      html  css  js  c++  java
  • .net 获取IP地址的几种方式

    1.获取服务器IP地址:

    1) Local_Addr

    var Local_Addr = Request.ServerVariables.Get("Local_Addr").ToString()

    2.获取客户端IP地址:

    X-Forwarded-ForX-Real-IPremote_addr是http协议中用来表示客户端地址的请求头

    1) HTTP_REMOTEIP 

    var HTTP_REMOTEIP = HttpContext.Request.Headers["HTTP_REMOTEIP"];

    表示发出请求的远程主机的 IP 地址,remote_addr表明客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站时,假设中间没有任何代理,那么网站的web服务器Nginx,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();

  • 相关阅读:
    BZOJ 1001: [BeiJing2006]狼抓兔子
    BZOJ 1031: [JSOI2007]字符加密Cipher
    BZOJ 1083: [SCOI2005]繁忙的都市
    BZOJ 1034: [ZJOI2008]泡泡堂BNB
    BZOJ 1040: [ZJOI2008]骑士
    BZOJ 1026: [SCOI2009]windy数
    BZOJ 1022: [SHOI2008]小约翰的游戏John
    BZOJ 1018: [SHOI2008]堵塞的交通traffic
    BZOJ: 2819 Nim
    bzoj 3144
  • 原文地址:https://www.cnblogs.com/yaoweijun/p/15030391.html
Copyright © 2011-2022 走看看