暂时解决了一个用户只能登录一个地方的问题,但是同一台电脑不允许两个用户同时使用的暂时无解
貌似每个包都会带mac地址的吧,LZ没找到调用的接口吗?
你说的是广域网吧,但是如果是局域网的话,那路由器应该会过滤掉吧?具体我也没有抓过报。晚上用fiddler2抓包试试看
bs只能获得ip信息,得不到mac地址啊
js要设置ie的权限,我想我们组长肯定说从用户体验考虑不合理
还有别的参考方向吗?不要往我这里写的走
@唯吴独尊: 没了,MAC只能这么取。根据TCP/IP协议,源MAC地址始终是离目标机器最近的一个网络设备,也就是说,在没有特别的硬件和软件支持下,目标机器只能从IP包中得到离它最近的一个网络设备的MAC地址。所以,客户端必须主动提交自己的MAC地址。
好像只能用IP地址,如果发现当前IP地址已经有用户登录,就强制下线
IP地址我分析过还是会有问题的,如果是局域网访问你的网站,那么他的IP地址就是路由器端口的IP(就是这个外网的IP),但是局域网的用户不可能只有一个用户把!
@唯吴独尊: 这个没有问题啊,把登录名和IP都记录下来,其实只要保证没有重复的登录名就行了,至于一个电脑只能登录一个用户可以使用cookie记录部分登录信息。后一个登录用户综合覆盖前一个人
@卒子: 其实我想说的是你的需求和我的不一样了,首先我这里要做的是在线用户当别人再次登录的时候,则提示用户在线对话框,而不是你说的把别人挤掉。不过还是谢谢你的想法
var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var PRoperties = service.ExecQuery("SELECT * FROM Win32_Processor");
var e = new Enumerator(PRoperties);
document.write("<table border=1>");
for (; !e.atEnd(); e.moveNext()) {
var p = e.item();
document.write("<tr>");
document.write("<td>" + p.Caption + "</td>");
document.write("<td>" + p.DeviceID + "</td>");
document.write("<td>" + p.Name + "</td>");
document.write("<td>" + p.CpuStatus + "</td>");
document.write("<td>" + p.Availability + "</td>");
document.write("<td>" + p.Level + "</td>");
document.write("<td>" + p.ProcessorID + "</td>");
document.write("<td>" + p.SystemName + "</td>");
document.write("<td>" + p.ProcessorType + "</td>");
document.write("</tr>");
}
document.write("</table>");
用这个js看看
这个js是获取客户端的/CPU 信息
主板信息
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard");
var e = new Enumerator (properties);
document.write("<table border=1>");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("<tr>");
document.write("<td>" + p.HostingBoard + "</td>");
document.write("<td>" + p.Manufacturer + "</td>");
document.write("<td>" + p.PoweredOn + "</td>");
document.write("<td>" + p.Product + "</td>");
document.write("<td>" + p.SerialNumber + "</td>");
document.write("<td>" + p.Version + "</td>");
document.write("</tr>");
}
document.write("</table>");
@死白的man: 这个方法昨天我已经看到过了,但是这个方法有一个不好的地方就是,需要客户端在ie上设置ie的权限,我想我们组长会说,你觉得从用户体验方面考虑设计的合理吗?所以还是谢谢你的方法。