C# 防止用户在特定时间段使用一台设备登录

C# 防止用户在特定时间段使用一台设备登录,c#,asp.net,session,login,ip,C#,Asp.net,Session,Login,Ip,有一个学生在线考试网站。 我想阻止用户从一个设备登录。 我的意思是,如果一个人从设备A登录,甚至注销,那么其他用户在特定时间之前不能从设备A登录。例如半小时。 什么是最好和最简单的方法? 如何使用设备的IP来实现这一点? 我正在使用asp.net 4 C# 非常感谢。获取设备的MAC地址,以确保同一设备没有从不同的IP连接。关于如何获取MAC地址,有几个提示。 然后将地址和时间存储在数据库中并应用逻辑。 我不认为你可以依赖IP地址,因为大多数IP地址都是动态的,尤其是移动设备,从不同的网络连接起

有一个学生在线考试网站。 我想阻止用户从一个设备登录。 我的意思是,如果一个人从设备A登录,甚至注销,那么其他用户在特定时间之前不能从设备A登录。例如半小时。 什么是最好和最简单的方法? 如何使用设备的IP来实现这一点? 我正在使用asp.net 4 C#


非常感谢。

获取设备的MAC地址,以确保同一设备没有从不同的IP连接。关于如何获取MAC地址,有几个提示。 然后将地址和时间存储在数据库中并应用逻辑。
我不认为你可以依赖IP地址,因为大多数IP地址都是动态的,尤其是移动设备,从不同的网络连接起来非常容易。

我认为IP不是识别设备的好方法,因为很多人不是直接访问internet,而是通过共享的本地路由器。出于安全考虑,每个web浏览器都会限制网站访问本地资源。因此,除了使用ActiveX等技术外,我们无法获取硬件信息来识别设备。如果您不喜欢ActiveX,可以使用cookies部分解决问题。对于用户在登录期间请求的每个页面,如果cookie中的时间不合适,您可以编写一些cookie来记住时间,并在登录页面的代码中拒绝登录操作。但是,如果用户切换到其他本地帐户或其他浏览器,它将无法工作。

在登录页面上,您将跟踪您的“逻辑”并继续…谢谢您,但我应该如何获取mac地址?据我所知,您无法在asp.net上获取mac地址,您只能使用
HttpRequest.UserHostAddress
@Aristos获取IP,Javascript,@FeliceM您提供的页面是使用activex控件,这意味着您需要安装一个本地dll,可以读取mac,只能在IE上工作,并且只有在用户允许的情况下,我才使用chrome…谢谢您,但我没有使用MVC,当然我是asp.net新手。你能解释得更清楚些吗。非常感谢。:)MVC或ASP在逻辑上没有区别,我建议你。在用户登录时,将其设备MAC地址和/或IP与日期时间一起保存到数据库中,在数据库中搜索以检查同一用户上次登录的时间,并应用您的逻辑。如何获取MAC地址和/或IP地址只是一个细节。您是否阅读了您提供的链接上的内容?还是第一次谷歌回归?在您称之为“关于如何获取MAC地址的几个提示”的链接中,说明他们无法读取客户端的MAC地址,只能读取服务器/本地!