Php 通过计算机限制站点功能

Php 通过计算机限制站点功能,php,html,login,ip-address,restriction,Php,Html,Login,Ip Address,Restriction,基本上,我只是想知道什么是实现我想做的事情的好方法。我有一个系统,允许用户使用不同帐户类型的ID和PWD登录,等等 该应用程序是一个基于浏览器(灯堆栈)的时钟,我想要的是允许任何人从任何计算机或设备登录(完成),但也只允许某些计算机能够打卡输入或输出。所以我必须登录工作电脑才能打卡,但我可以在家里登录并查看工作时间等 有什么好的解决方案吗?另一种方法可能是将这些功能的使用限制在特定时间(例如上午9点到下午5点的办公时间) 小心基于IP的东西,因为IP可以改变 另一种解决方案:两步身份验证 用户名

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

该应用程序是一个基于浏览器(灯堆栈)的时钟,我想要的是允许任何人从任何计算机或设备登录(完成),但也只允许某些计算机能够打卡输入或输出。所以我必须登录工作电脑才能打卡,但我可以在家里登录并查看工作时间等


有什么好的解决方案吗?

另一种方法可能是将这些功能的使用限制在特定时间(例如上午9点到下午5点的办公时间)

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

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

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

  • 更好的方法是受MAC地址的限制,但是非常复杂。 其他方式应考虑客户端IP限制、时间限制、用户限制


    查看这篇关于

    工作是你唯一希望他们能够打卡的地方吗? 工作中的PC是否有静态IP?
    如果是这样的话,您可以限制不来自这些IP的请求—您还可以对MAC地址进行过滤。

    我对时钟应用程序做了类似的操作

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


    但是,这对于您的情况可能不可行,这取决于您希望计算机能够满足的打卡输入/输出要求。

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

    正如你所说,这是一个公司的软件,我会做以下步骤

    1-开发一个小程序以获取特定的客户端设备信息(设备序列号、硬盘序列号、主板序列号等)。
    1.a-您必须识别设备并映射可能的特定信息。例如,如果它是一台计算机,您将获得硬盘序列号;如果它是一部手机,您将必须知道它是哪个操作系统,并获得设备序列号
    2-为了让这个小程序使用这些权限,您必须创建一个证书,并且用户必须接受它(因为它是一家公司,所以不应该有问题)
    3-支持此功能的数据库结构,例如:用户、设备类型、设备(具有fk到设备类型)、用户设备(是n-m表)
    4-从第一个模型开始,您可以疯狂地使用权限,例如:

    4.a-将表用户\u设备\u权限与另一个表权限相结合,并从中获得表用户\u设备\u权限\u时间(这将指定用户可以在特定设备上执行特定操作的时间)

    对于生病或上班迟到的员工,您可能仍然会遇到问题。是的,这将在两家公司部署,包括一些销售人员,他们有时会在正常办公时间以外打卡。我绝对不想只依靠我在问这个问题之前收集的IP。我编辑了答案,提供了另一个解决方案,我不得不与一位老客户一起使用。这似乎是一个好的解决方案,我唯一的想法是,作为一名员工,可以在打卡时给他的好友打电话,并给他密码,然后说巴迪可以通过手机登录,即使他要迟到也可以打电话。我可以很容易地从手机上禁用对时钟的访问,但我想让员工能够在手机上查看系统,以便轻松检查日程安排等。您可以始终根据该用户的PC或登录名的某些属性设置代码,以便唯一能看到它的人是PC用户自己。至于“伙伴系统”,真正消除这种情况的唯一方法是使用指纹扫描仪……即使现在不是100%,也只限于办公室里的计算机。是的,但是它们没有静态IP。那么MAC地址就是一种方法。如下所述,您可以使用该MAC地址生成第二步身份验证代码,这样只有登录到该PC的人才能使用它登录。平板电脑和手机的使用情况如何?短期内,笔记本电脑将用于打孔,但在不久的将来,它可能部署在没有局域网连接的地方,平板电脑或智能手机将用作打孔站,然后允许任何人使用任何手机来打孔。我不太熟悉MAC地址,也不太熟悉是否可以从移动设备上获取MAC地址,如果这个解决方案对这些地址仍然有效,那么这可能是我的最佳选择。是的,关于使用移动设备instaad或PC作为打孔站,你说得没错。我处理过特定于机器的限制,从web浏览器的角度来看,这是一个废话。只有活动X可以处理+1用于考虑手机、espe、平板电脑作为业务流程的当前和未来使用数据输入设备。