zoukankan      html  css  js  c++  java
  • 在内网服务器中获得真正的客户端ip的方法

    如下代码:
    /// <summary>
        
    /// RealIP 的摘要说明:
        
    /// 获得用户的真实ip,由于squidserver的原因直接取到的ip是内网ip
        
    /// </summary>

        abstract public class RealIP
        
    {
            
    const string HEADER_KEY_IP = "X-Forwarded-For";

            
    /// <summary>
            
    /// 真实ip
            
    /// </summary>

            public static string Value
            
    {
                
    get
                
    {
                    System.Web.HttpRequest request 
    = System.Web.HttpContext.Current.Request;
                    
    string ip = string.Empty;
                    
    string ipHeader = request.Headers[HEADER_KEY_IP];
        
                    
    if(!string.IsNullOrEmpty(ipHeader))
                    
    {
                        
    string[] IPs = ipHeader.Split(',');
                        
    foreach (string ipItem in IPs)
                        
    {
                            
    if ((!string.IsNullOrEmpty(ipItem)) && (!IsLocalIP(ipItem)))
                            
    {
                                ip 
    = ipItem;
                                
    break;
                            }

                        }

                    }

                    
    if(ip == string.Empty)ip = request.UserHostAddress;
                    
    return ip;
                }

            }


            
    static bool IsLocalIP(string ip)
            
    {
                
    return ip.StartsWith("192.168."|| ip.StartsWith("172.16."|| ip.StartsWith("10.");
            }

        }

    其原理就是局域网内的服务器,向真实real server转发请求时,将客户端用户的真实ip放到了Http头信息中。
  • 相关阅读:
    [官网]清华大学的开源镜像站点 配置方法
    Android MIFARE NFCA源码解析
    Delphi XE8 TStyleBook的使用
    【FireMonkey】StyleBook使用方法
    Delphi第三方组件安装DCU.PAS.DPK.BPL.ActiveX控件
    M1卡说明及使用proxmark3破解方法
    M1卡修改各区块控制位值和数据
    DICOMDIR
    ZentaoPMS 系统的优先级以及修改
    集成禅道和svn
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/client_real_ip.html
Copyright © 2011-2022 走看看