• asp.net 获取客服端的Ip地址


    System.Web.HttpContext.Current.Request.ServerVariables获取

    1.没有使用代理服务器的情况:

          REMOTE_ADDR = 用户的 IP
          HTTP_VIA = 没数值或不显示
          HTTP_X_FORWARDED_FOR = 没数值或不显示

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

          REMOTE_ADDR = 最后一个代理服务器 IP
          HTTP_VIA = 代理服务器 IP
          HTTP_X_FORWARDED_FOR = 用户的真实 IP

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

          REMOTE_ADDR = 最后一个代理服务器 IP
          HTTP_VIA = 代理服务器 IP
          HTTP_X_FORWARDED_FOR = 代理服务器 IP

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

          REMOTE_ADDR = 代理服务器 IP
          HTTP_VIA = 代理服务器 IP
          HTTP_X_FORWARDED_FOR = 随机的 IP

    HTTP_X_FORWARDED_FOR 是HTTP协议中头的一部分,不影响TCP的通讯。也就是说实际上客户端可以发送任意内容的 HTTP_X_FORWARDED_FOR,以就是伪造IP。最简单的是WEB程序的IP记录,本来是要记录真实IP的,反而被“黑客”欺骗。

    这是获取ip方法

    if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)   
          return System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(new char[] { ',' })[0];      
        else  
          return System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 

  • 相关阅读:
    什么是restful风格?
    android中设置控件获得焦点
    Android中Parcelable的原理和使用方法
    webstorm快捷键大全
    HTTP状态码
    三行代码写爬虫
    HTTrackPortable
    安装mac系统
    Vue常用的操作指令
    什么样的人不适合当程序员呢?
  • 原文地址:https://www.cnblogs.com/linsu/p/2265657.html
Copyright © 2020-2023  润新知