首页 新闻 会员 周边

C# 每天电脑注册的次数限制

0
悬赏园豆:30 [待解决问题]

如何限制每台电脑的每天注册次数。(比如每台电脑只能注册3次),需要考虑局域网,不同的浏览器,个人电脑的情况!

静(lion)的主页 静(lion) | 初学一级 | 园豆:169
提问于:2012-10-19 09:18
< >
分享
所有回答(3)
0

浏览器最多获得ip、操作系统、浏览器等信息

光根据这些是无法判断电脑唯一性的

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-10-19 09:33

我看到qq注册,就是限制每台电脑只能注册2次  ,之后就需要手机验证。我现在也需要做同样的功能,请阁下提点建议。

支持(0) 反对(0) 静(lion) | 园豆:169 (初学一级) | 2012-10-19 09:37

@静(lion): QQ可能是根据你的外网ip判断的,你看看http://www.cnblogs.com/qingci/archive/2012/10/18/2729246.html

支持(0) 反对(0) 飞来飞去 | 园豆:2057 (老鸟四级) | 2012-10-19 09:38

@飞来飞去:还是不知道腾讯是如何唯一识别一台电脑,进行注册次数限制的。

支持(0) 反对(0) 静(lion) | 园豆:169 (初学一级) | 2012-10-19 11:15
0

你可以根据你的外网IP判定,也就是你开宽带的唯一帐号,  还有就是根据你的电脑硬件信息加一些操作系统的信息进行混合判定。

雨之秋水 | 园豆:649 (小虾三级) | 2012-10-19 11:20

电脑硬件信息,和操作系统信息如何获取?

支持(0) 反对(0) 静(lion) | 园豆:169 (初学一级) | 2012-10-19 11:31

@静(lion): 

 1 @静(lion): 
 2 public class GetUserInfo
 3     {
 4         public static string GetCPU()
 5         {
 6             string cpuInfo = "";//cpu序列号  
 7             ManagementClass cimobject = new ManagementClass("Win32_Processor");
 8             ManagementObjectCollection moc = cimobject.GetInstances();
 9             foreach (ManagementObject mo in moc)
10             {
11                 cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
12                 //  Response.Write ("cpu序列号:"+cpuInfo.ToString ());  
13             }
14             return cpuInfo;
15         }
16 
17         public static string GetHardDisk()
18         {
19             string HDid = string.Empty;
20             ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
21             ManagementObjectCollection moc1 = cimobject1.GetInstances();
22             foreach (ManagementObject mo in moc1)
23             {
24                 HDid = (string)mo.Properties["Model"].Value;
25                 //Response.Write ("硬盘序列号:"+HDid.ToString ()); 
26                 
27             }
28             return HDid;
29         }
30 
31 
32         public static string GetRealIp()
33         {
34             string ip = "";
35             try
36             {
37                 HttpRequest request = HttpContext.Current.Request;
38 
39                 if (request.ServerVariables["http_VIA"] != null)
40                 {
41                     ip = request.ServerVariables["http_X_FORWARDED_FOR"].ToString().Split(',')[0].Trim();
42                 }
43                 else
44                 {
45                     ip = request.UserHostAddress;
46                 }
47             }
48             catch (Exception e)
49             {
50                 throw e;
51             }
52 
53             return ip;
54         }
55     }
56 
57 --------------
58  //获取本地计算机的NetBIos计算机名称
59                 this.lblComputerName.Text = SystemInformation.ComputerName.ToString();
60                 //获取本地计算机的IP
61                 this.lblComputerIp.Text = GetIP();
62                 //启动方式
63                 if(SystemInformation.BootMode.ToString() == "Normal")
64                     this.lblStartingMode.Text = "正常启动";
65                 if(SystemInformation.BootMode.ToString() == "FailSafe")
66                     this.lblStartingMode.Text = "安全启动";
67                 if(SystemInformation.BootMode.ToString()=="FailSafeWithNetwork")
68                     this.lblStartingMode.Text = "通过网络服务启动";
69                 //网络连接
70                 if(SystemInformation.Network == true)
71                     this.lblComputerNetworkConnect.Text = "已连接";
72                 else
73                     this.lblComputerNetworkConnect.Text = "未连接";
74                 //获取本地计算机的当前显示器分辨率
75                 this.lblResolutionRatio.Text = SystemInformation.PrimaryMonitorSize.Width.ToString() + "X" + SystemInformation.PrimaryMonitorSize.Height.ToString();
76             }
支持(0) 反对(0) 雨之秋水 | 园豆:649 (小虾三级) | 2012-10-19 19:28

@风忆: 

这是用你提供的方法,通过局域网内两台机器访问返回的结果,显示的都是服务器的信息。

还要我需要的是web应用的解决方法。

支持(0) 反对(0) 静(lion) | 园豆:169 (初学一级) | 2012-10-20 10:03

@静(lion): 我提供给你的方法只是给你参考  具体的自己多想想就能出来了。

支持(0) 反对(0) 雨之秋水 | 园豆:649 (小虾三级) | 2012-10-20 14:18
0

根据你的电脑硬件信息,比如cpu等的信息

jason2013 | 园豆:1998 (小虾三级) | 2012-10-19 11:36

C#  如何获取你说的硬件信息?

支持(0) 反对(0) 静(lion) | 园豆:169 (初学一级) | 2012-10-19 11:51

@静(lion): 估计可以用windows.managerment.下的一些wim的类库

支持(0) 反对(0) nickycookie | 园豆:106 (初学一级) | 2012-10-19 12:18

@nickycookie: 刚在网上看到了,试了下,只能获取到服务器的mac,不能获取客户端的mac。

支持(0) 反对(0) 静(lion) | 园豆:169 (初学一级) | 2012-10-19 15:21

@静(lion): 可以获取客户端的计算机名

支持(0) 反对(0) jason2013 | 园豆:1998 (小虾三级) | 2012-10-19 15:32

@wydycg: 不可以,也是服务器的机器名!

支持(0) 反对(0) 静(lion) | 园豆:169 (初学一级) | 2012-10-19 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册