zoukankan      html  css  js  c++  java
  • 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"]; 

  • 相关阅读:
    centos 下源码安装postgresql 9.4
    sql server访问excel文件
    什么是脏读、不可重复读、幻读
    对象名 master.dbo.spt_values' 无效
    数据库恢复和日志文件阐述
    查看数据大小和日志文件大小
    CPU性能瓶颈
    数据库打补丁,服务升级失败
    Docker安装WordPress并添加https访问
    svn插件安装
  • 原文地址:https://www.cnblogs.com/linsu/p/2265657.html
Copyright © 2011-2022 走看看