如何编写一个专门显示当前登录网站所有ip的页面

解决方案 »

  1.   

    每个人访问 你都把ip记录在数据库内
    然后 你的显示ip的页面上显示出来
      

  2.   

    从HttpRequest.UserHostAddress活得访问你页面的ip放到数据库里
    表:
    ip,date然后读出来,显示在页面,简单的直接绑定到datagrid
      

  3.   

    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemnetdnsclassgethostbynametopic.htm
      

  4.   


    HttpBrowserCapabilities bc = Request.Browser;
    Response.Write("<p>浏览器属性:</p>");
    Response.Write("浏览器型号 = " + bc.Type + "<br/>");
    Response.Write("浏览器名称 = " + bc.Browser + "<br/>");
    Response.Write("浏览器版本 = " + bc.Version + "<br/>");
    Response.Write("主版本号 = " + bc.MajorVersion + "<br/>");
    Response.Write("从版本号 = " + bc.MinorVersion + "<br/>");
    Response.Write("操作系统 = " + bc.Platform + "<br/>");
    Response.Write("是否试用版 = " + bc.Beta + "<br/>");
    Response.Write("Is Crawler = " + bc.Crawler + "<br/>");
    Response.Write("Is AOL = " + bc.AOL + "<br/>");
    Response.Write("16位机 = " + bc.Win16 + "<br/>");
    Response.Write("32位机 = " + bc.Win32 + "<br/>");
    Response.Write("支持Frame = " + bc.Frames + "<br/>");
    Response.Write("支持Table = " + bc.Tables + "<br/>");
    Response.Write("支持Cookies = " + bc.Cookies + "<br/>");
    Response.Write("支持VB Script = " + bc.VBScript + "<br/>");
    Response.Write("支持 JavaScript = " + bc.JavaScript + "<br/>");
    Response.Write("支持 Java Applets = " + bc.JavaApplets + "<br/>");
    Response.Write("支持 ActiveX Controls = " + bc.ActiveXControls + "<br/>");
    Response.Write("电台CDF = " + bc.CDF + "<br/>");
    Response.Write(Request.UserAgent);
    Response.Write ("<script language='javascript'>//读屏幕的大小screenWidth=screen.width;screenHeight=screen.height;</script>");
    //屏幕分辨率的高:Response.Write (window.screen.height);
    //屏幕分辨率的宽:"+ window.screen.width;
    //屏幕可用工作区高度:"+ window.screen.availHeight;
    //屏幕可用工作区宽度:"+ window.screen.availWidth
      

  5.   

    // This program shows how to use the IPAddress class to obtain a server 
    // IP addressess and related information.using System;
    using System.Net;
    using System.Net.Sockets;
    using System.Text.RegularExpressions;namespace Mssc.Services.ConnectionManagement
    {  class TestIPAddress 
      {    /**
          * The IPAddresses method obtains the selected server IP address information.
          * It then displays the type of address family supported by the server and its 
          * IP address in standard and byte format.
          **/
        private static void IPAddresses(string server) 
        {
          try 
          {
            System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
      
            // Get server related information.
            IPHostEntry heserver = Dns.Resolve(server);        // Loop on the AddressList
            foreach (IPAddress curAdd in heserver.AddressList) 
            {
              // Display the type of address family supported by the server. If the
              // server is IPv6-enabled this value is: InternNetworkV6. If the server
              // is also IPv4-enabled there will be an additional value of InterNetwork.
              Console.WriteLine("AddressFamily: " + curAdd.AddressFamily.ToString());
              
              // Display the ScopeId property in case of IPV6 addresses.
              if(curAdd.AddressFamily.ToString() == ProtocolFamily.InterNetworkV6.ToString())
                Console.WriteLine("Scope Id: " + curAdd.ScopeId.ToString());
              // Display the server IP address in the standard format. In 
              // IPv4 the format will be dotted-quad notation, in IPv6 it will be
              // in in colon-hexadecimal notation.
              Console.WriteLine("Address: " + curAdd.ToString());
            
              // Display the server IP address in byte format.
              Console.Write("AddressBytes: ");          Byte[] bytes = curAdd.GetAddressBytes();
              for (int i = 0; i < bytes.Length; i++) 
              {
                Console.Write(bytes[i]);
              }                                    Console.WriteLine("\r\n");        }      }
          catch (Exception e) 
          {
            Console.WriteLine("[DoResolve] Exception: " + e.ToString());
          }
        }// This IPAddressAdditionalInfo displays additional server address information.
        private static void IPAddressAdditionalInfo() 
        {
          try 
          {
            // Display the flags that show if the server supports IPv4 or IPv6
            // address schemas.
            Console.WriteLine("\r\nSupportsIPv4: " + Socket.SupportsIPv4);
            Console.WriteLine("SupportsIPv6: " + Socket.SupportsIPv6);        if (Socket.SupportsIPv6)
            {
              // Display the server Any address. This IP address indicates that the server 
              // should listen for client activity on all network interfaces. 
              Console.WriteLine("\r\nIPv6Any: " + IPAddress.IPv6Any.ToString());          // Display the server loopback address. 
              Console.WriteLine("IPv6Loopback: " + IPAddress.IPv6Loopback.ToString());
          
              // Used during autoconfiguration first phase.
              Console.WriteLine("IPv6None: " + IPAddress.IPv6None.ToString());
          
              Console.WriteLine("IsLoopback(IPv6Loopback): " + IPAddress.IsLoopback(IPAddress.IPv6Loopback));
            }
            Console.WriteLine("IsLoopback(Loopback): " + IPAddress.IsLoopback(IPAddress.Loopback));
          }
          catch (Exception e) 
          {
            Console.WriteLine("[IPAddresses] Exception: " + e.ToString());
          }
        }
      

  6.   

    Global.asax页面中声明public static ArrayList user_ip = new ArrayList ();
    然后没有用户登陆后把用户的IP保存到user_ip中Session_End 事件中把用户的IP从user_ip 删除
      

  7.   

    回复:vzxq(灵感人) ( ) 我都对你的这样实现挺感兴趣的,能否将你的代码贴出来贡献一下啊!
      

  8.   

    ip=this.Context.Request.UserHostAddress.ToString();