zoukankan      html  css  js  c++  java
  • C#的百度地图开发(六)用户访问网页的IP记录

    在《C#的百度地图开发(五)IP定位》一文中,我们可以通过IP来定位,那这些IP要如何去获取呢?对于网站,我们可以能过用户访问页面时,记录其IP。因为用户访问页面时,是向服务器发起了请求,我们只要在服务器端作相应的处理,就可以记录了。如果使用Asp.Net开发站点,可以借助Global.asax(全局应用程序类)来记录。

     public class Global : System.Web.HttpApplication
        {
    
            protected void Application_Start(object sender, EventArgs e)
            {
    
            }
    
            protected void Session_Start(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_BeginRequest(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_AuthenticateRequest(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_Error(object sender, EventArgs e)
            {
    
            }
    
            protected void Session_End(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_End(object sender, EventArgs e)
            {
    
            }
    
            protected void Application_PostAuthenticateRequest(object sender, EventArgs e)
            {
                // 提取窗体身份验证 cookie
                string cookieName = FormsAuthentication.FormsCookieName;
                HttpCookie authCookie = HttpContext.Current.Request.Cookies[cookieName];
                if (null == authCookie)
                {
                    // 没有身份验证 cookie。
                    return;
                }
                FormsAuthenticationTicket authTicket = null;
                authTicket = FormsAuthentication.Decrypt(authCookie.Value);
    
                if (null == authTicket)
                {
                    // 无法解密 Cookie。
                    return;
                }
    
                string[] roles = authTicket.UserData.Split(new char[] { ',' });
                FormsIdentity id = new FormsIdentity(authTicket);
                System.Security.Principal.GenericPrincipal principal = new System.Security.Principal.GenericPrincipal(id, roles);
                HttpContext.Current.User = principal;
    
                String visitIP = Request.UserHostAddress;//访问者的IP
                String visitUrl = Request.FilePath;//访问的页面(页面的JS、CSS也会获取,在记录时需要加以区分)
            }
        }
    注:

    (1).Application_PostAuthenticateRequest是页面访问发起验证请求时都会触发该函数,所以可以在此记录。

    (2).记录IP信息,用户信息到数据库中,还可以进一步分析出某一时间段的在线用户。

    得到了IP后,就可以按前面的来进行百度地图的定位了。

    转载请注明出处http://blog.csdn.net/xxdddail/article/details/42707243。

  • 相关阅读:
    P3833 [SHOI2012]魔法树 (树链剖分模板题)
    2019 Multi-University Training Contest 4 1008K-th Closest Distance(二分+主席树)
    bzoj3631: [JLOI2014]松鼠的新家(树上差分)
    bzoj4326: NOIP2015 运输计划(二分+LCA+树上差分)
    目录
    希望是一个全新的开始
    模板
    模板
    SCUT
    模板
  • 原文地址:https://www.cnblogs.com/sparkleDai/p/7604973.html
Copyright © 2011-2022 走看看