如题 , 如何绑定请求计算机的ID,做登录验证, 试过一些代码,但是获取的都是服务器的硬件信息,求获取请求计算机的硬件ID(能够标识请求计算机唯一性的数据)。有木有,有木有 小弟分用完了, 只剩73 全贡献了。希望大虾别嫌弃分少。

解决方案 »

  1.   

    能够标识请求计算机唯一性的数据  MAC地址?
      

  2.   

    private string GetClientIP()
      {
      string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
      if (null == result || result == String.Empty)
      {
      result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
      }  if (null == result || result == String.Empty)
      {
      result = HttpContext.Current.Request.UserHostAddress;
      }
      return result;
      }获取MAC地址:[DllImport("Iphlpapi.dll")] 
      private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length); 
      [DllImport("Ws2_32.dll")]
      private static extern Int32 inet_addr(string ip);  private void Page_Load(object sender, System.EventArgs e)
      {
      try
      {
      string userip=Request.UserHostAddress;
      string strClientIP = Request.UserHostAddress.ToString().Trim();
      Int32 ldest = inet_addr(strClientIP); 
      Int32 lhost = inet_addr("");  
      Int64 macinfo = new Int64(); 
      Int32 len = 6; 
      int res = SendARP(ldest,0, ref macinfo, ref len);
      string mac_src=macinfo.ToString("X");
      if(mac_src == "0")
      {
      if(userip=="127.0.0.1")
      Response.Write ("");
      else
      Response.Write ("" + userip + "" + "<br>");
      return;
      }  while(mac_src.Length<12)
      {
      mac_src = mac_src.Insert(0,"0");
      }  string mac_dest="";  for(int i=0;i<11;i++)
      {
      if (0 == (i % 2))
      {
      if ( i == 10 )
      {
      mac_dest = mac_dest.Insert(0,mac_src.Substring(i,2));
      }
      else
      {
      mac_dest ="-" + mac_dest.Insert(0,mac_src.Substring(i,2));
      }
      } 
      }  }
      catch(Exception err) 
      { 
      Response.Write(err.Message);
      }
      }参考
    参考