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头信息中。
  • 相关阅读:
    eclipse异常关闭,无法启动tomcat解决办法
    VM下,装centos7系统,配置nginx的问题
    用php代码统计数据库中符合条件的行数
    css中的相对定位与绝对定位的区别
    URL地址理解
    开机直接显示用户被锁定点一下就黑屏
    css3 三个属性:-webkit-tap-highlight-color,-webkit-touch-callout,-webkit-user-select
    jquery.flipster.js 3D旋转木马效果
    css3 position:sticky 固定导航平滑过渡
    iframe跨域获取父页面url
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/client_real_ip.html
Copyright © 2011-2022 走看看