通过计算机限制网站功能

时间:2014-02-06 21:20:46

标签: php html login ip-address restriction

基本上我只是想知道什么是一个很好的方法来完成我想做的事情。我有一个允许用户使用不同帐户类型的ID和PWD登录的系统

该应用程序是基于浏览器的(LAMP堆栈)时钟,我想要的是允许任何人从任何计算机或设备登录(完成),但也只允许某些计算机能够打卡或打卡。因此,我必须登录工作计算机才能打卡,但可以在家中登录并查看营业时间等。

关于良好解决方案的任何想法?

5 个答案:

答案 0 :(得分:2)

另一种选择可能是将这些功能的使用限制在某些时间(例如上午9点至下午5点办公时间)。

小心基于IP的东西,因为IP可以改变。

另一种解决方案:两步验证。

  1. 用户名和密码
  2. 当天的访问代码(每天生成,并提供给办公室的人员)

答案 1 :(得分:0)

更好的方法是通过MAC地址进行限制,但是非常复杂。 其他方式应考虑客户端IP限制,时间范围限制,用户限制。

查看有关getting MAC address

的帖子

答案 2 :(得分:0)

工作是你希望他们能够从中获取的唯一地方吗? 工作中的PC是否具有静态IP? 如果是这样,您可以限制不是来自其中一个IP的请求 - 您也可以过滤MAC地址。

答案 3 :(得分:0)

我在时钟应用程序中做了类似的事情。

我检查用户的IP是否有一个我们的局域网IP(例如192.168。?。?),因为该范围内不应该有任何公共IP。如果它是有效的局域网IP,那么它们可以进入/退出。如果不是,那么他们就不能进/出,但仍然可以检查他们的工作时间。

这可能不适用于您的情况,具体取决于您希望计算机能够进入/退出的要求。

答案 4 :(得分:0)

您无法仅依靠客户信息(来自请求)来验证您的权限。像ip,cookie,浏览器版本等。所以我的建议是你依赖客户端设备信息,如磁盘序列号,设备序列号等。这种方法的问题是如何获取这些信息。

正如您所说,这是一家公司的软件,我会执行以下步骤。

1 - 开发小程序以获取特定的客户端设备信息(设备序列ID,硬盘序列ID,主板序列ID等)
1.a - 您必须识别设备并映射可能的特定信息。就像它是一台计算机一样,你得到的是硬盘序列号,如果它是一部手机你必须知道它是什么操作系统并得到设备序列号
2 - 为了让这个小程序使用权限,你必须创建一个证书,用户必须接受它(因为它是一个公司,它不应该是一个问题)
3 - 支持此功能的数据库结构,例如:User,device_type,device(fk to device_type),user_device(n-m table)
4 - 从第一个模型开始,你可以对如下权限感到疯狂:
4.a - 让表user_device_permission具有另一个表权限,并从表user_device_permission_time(这将指定特定设备上用户可以执行某些特定事情的时间)