【问题标题】:Restricting site features by computer通过计算机限制站点功能
【发布时间】:2014-02-06 21:20:46
【问题描述】:

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

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

对好的解决方案有什么想法吗?

【问题讨论】:

    标签: php html login ip-address restriction


    【解决方案1】:

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

    谨防基于 IP 的事情,因为 IP 可以更改。

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

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

    【讨论】:

    • 对于生病或上班迟到的员工,您仍然可能会遇到问题。
    • 是的,这也将部署到两家公司,包括一些有时会在正常办公时间之外打卡的销售人员。在问这个问题之前,我绝对不想单独依赖我收集的 IP。
    • 我编辑了答案以提供另一种我不得不与老客户一起使用的解决方案。
    • 这似乎是一个很好的解决方案,我唯一的想法是作为一名员工可以在打卡时给他的好友打电话并给他访问代码,然后说他可以通过他的手机登录并打卡即使他迟到了。我可以轻松地禁用手机对时钟的访问,但我希望让员工能够在手机上查看系统,以便轻松检查日程安排等。
    • 您始终可以将代码基于该用户 PC 或登录的某些属性,以便唯一可以看到它的人是 PC 用户自己。至于“伙伴系统”,真正消除它的唯一方法是使用指纹扫描仪……即使这样也不是 100%
    【解决方案2】:

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

    查看这篇关于getting MAC address的帖子

    【讨论】:

    • 平板电脑和手机的使用情况如何?短期内笔记本电脑将用于打卡,但在不久的将来,它可能会部署在没有 LAN 连接的位置,平板电脑或智能手机将用作打卡站,然后允许任何人使用任何手机来打卡.我不太熟悉 MAC 地址以及是否可以从移动设备获取 MAC 地址,如果此解决方案仍然适用于这些地址,那么这可能是我最好的选择。
    • 是的,您确实是正确地使用移动设备代替 PC 作为打孔站。我已经处理了特定于机器的限制,从 Web 浏览器的角度来看是一派胡言。只有 Active X 可以处理。 +1 考虑当前和未来使用移动设备,尤其是平板电脑作为业务流程数据输入设备。
    【解决方案3】:

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

    【讨论】:

    • 目前它仅限于办公室中的计算机,是的,但是它们没有静态 IP。
    • 那么 MAC 地址就是要走的路。如下所述,您可以使用该 MAC 地址生成第二步验证码,这样只有登录该 PC 的人才能使用它登录。
    【解决方案4】:

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

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

    不过,这可能不适合您的情况,具体取决于您希望计算机满足打卡/打卡的要求。

    【讨论】:

      【解决方案5】:

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

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

      1 - 开发一个小程序来获取特定的客户端设备信息(设备序列号、硬盘序列号、主板序列号等)
      1.a - 您必须识别设备并映射可能的特定信息。就像是电脑你会得到硬盘序列号,如果是手机你必须知道它是什么操作系统并得到设备序列号
      2 - 为了要使用此小程序使用这些权限,您必须创建一个证书并且用户必须接受它(因为它是一家公司,所以这应该不是问题)
      3 - 一个数据库结构支持这一点,就像一个例子一样:用户,设备类型,设备(使用 fk 到设备类型),用户设备(这是 n-m 表)
      4 - 从第一个模型你可以发疯关于权限,例如:
      4.a - 拥有一个表 user_device_permission 和另一个表权限,并从该表 user_device_permission_time (它将指定用户可以在特定设备上执行某些特定操作的时间)东西)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-16
        • 1970-01-01
        • 1970-01-01
        • 2011-05-13
        • 2011-12-02
        • 2013-06-14
        • 1970-01-01
        相关资源
        最近更新 更多