当前位置:编程学习 > C#/ASP.NET >>

网站一机一号登陆问题!

新手提问,请多关照!
  请问如何实现网站一机一号登陆的技术,机器码方法具体是怎样的?

  还有什么方法能实现安全的一机一号的网站管理? --------------------编程问答-------------------- WEB的话COOKIE SESSIONID都能判断
winform的话,可以参照WEB来做啊 --------------------编程问答-------------------- 楼上友人,我不太明白 --------------------编程问答-------------------- 期待答案啊!!!!!!!! --------------------编程问答-------------------- 用session或是cookies保存用户的信息。
每个用户都有自己的信息登录,
这样不就是你说的网站一机一号登录的技术? --------------------编程问答-------------------- 下面这种方式具体是怎么做的?

获取硬件信息-提交到服务器-第一次使用-记录数据.
获取硬件信息-提交到服务器-第N次使用-效验数据.
--------------------编程问答-------------------- cookie 被用户清空 不就没了吗 --------------------编程问答-------------------- 为什么要一机一号?
不允许异地同时登陆同一账号比较多
如果你说只允许一机一号
那么你得记录机器MAC地址
然后建一个在线表维护 --------------------编程问答-------------------- 获取能够唯一标识客户端的信息 如网卡MAC等硬件信息
限制一台机器只注册一号 或者只登陆一号不能多开
绝对的一机一号 --------------------编程问答-------------------- 搞个activeX记录网卡,每次打开网页时候,activeX记录网卡信息,并传递给隐藏控件,
服务器获得这个值,从而判断是从哪台机上的 --------------------编程问答-------------------- 能够确定机器唯一性的应该只有硬件的一些编号,常用的就是mac地址,像是一些网络服务商为了防止一线多机上网,就是采用了mac确认。
不过好像b/s无法获取硬件信息,必须使用组件。 --------------------编程问答-------------------- 参见 http://hi.baidu.com/vevoly/blog/item/67fd1bdff9ac231a6227987f.html
看是否对你有用, --------------------编程问答-------------------- --------------------编程问答-------------------- 问题:
你做的是物理计算机跟账户绑定么?
如果不是:
一个机器一个号,你用session控制就可以,也可以在数据库中添加个<标记>字段,如果登录了,标记开,否则关。
如果是:
MAC等 硬件信息需要登记了。 --------------------编程问答-------------------- 记录客户端IP --------------------编程问答-------------------- http://topic.csdn.net/t/20051219/18/4468590.html --------------------编程问答--------------------
引用 10 楼 herolg 的回复:
能够确定机器唯一性的应该只有硬件的一些编号,常用的就是mac地址,像是一些网络服务商为了防止一线多机上网,就是采用了mac确认。
 不过好像b/s无法获取硬件信息,必须使用组件。


那就取IP 了

IP+cookie+验证+用户+日期  B/S无敌 --------------------编程问答-------------------- 不会,帮顶 --------------------编程问答--------------------

//NET获取客户端MAC地址
public string GetMac()
{
string clientip = Request.UserHostName;
string mac = "";
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "nbtstat";
process.StartInfo.Arguments = "-a " + clientip;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
int length = output.IndexOf("MAC Address =");
if (length > 0)
{
mac = output.Substring(length + 14, 17);
}
return mac;
}
--------------------编程问答-------------------- 原理知道了,

1、网站后台如何管理呢?

2、具体的详细操作手段和方法是怎样的呢? --------------------编程问答-------------------- 刚才看到有“通过WMI获取系统硬件信息”,这个服务有问题吧,关闭了他就获取不到硬件信息了吧? --------------------编程问答-------------------- 数据库中存储来宾的MAC地址,对访客的MAC地址进行验证,如果MAC地址数据库中存在,则允许访问,反之,不可以访问。 --------------------编程问答-------------------- B/S方式是不可能的…… --------------------编程问答-------------------- 应该有MAC地址绑定 --------------------编程问答--------------------
<SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo> document.forms[0].txtMACAddr.value=unescape(MACAddr); document.forms[0].txtIPAddr.value=unescape(IPAddr); document.forms[0].txtDNSName.value=unescape(sDNSName); //document.formbar.submit(); </SCRIPT> <SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>  if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) { if(objObject.MACAddress != null && objObject.MACAddress != "undefined") MACAddr = objObject.MACAddress; if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined") IPAddr = objObject.IPAddress(0); if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined") sDNSName = objObject.DNSHostName; } </SCRIPT> <META c name=GENERATOR></HEAD> <BODY> <OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT> <OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT> <SCRIPT language=JScript>  var service = locator.ConnectServer(); var MACAddr ; var IPAddr ; var DomainAddr; var sDNSName; service.Security_.ImpersonationLevel=3; service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration'); </SCRIPT> 
获得机器MAC地址,IP --------------------编程问答-------------------- jf --------------------编程问答--------------------
引用 5 楼 cuizc 的回复:
下面这种方式具体是怎么做的?

获取硬件信息-提交到服务器-第一次使用-记录数据.
获取硬件信息-提交到服务器-第N次使用-效验数据.

同意这位仁兄说的
我以前做过这个类似的。就是用这种方法。 --------------------编程问答--------------------
引用 24 楼 liaoxing168 的回复:
JScript code<SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)"for=foo> document.forms[0].txtMACAddr.value=unescape(MACAddr); document.forms[0].txtIPAddr.value=unescape(I¡­


正解,第一次登陆的时候服务器端记录mac地址,每次登陆进行比较就可以了 --------------------编程问答-------------------- 也不是,如果是公网上的,很难做到,web本身就是开放性的
但如果是局域网,就容易控制 ip与mac绑定, 用户名与ip绑定,也是绝对的一机一号,也就是说用户名跟ip-mac是一一对应的 --------------------编程问答-------------------- 除非是金融的业务系统,其他的必要性不大
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,