Laravel 的基于设备的访问策略

Device based access policy for Laravel

安全不是我的专业领域。我正在开发一个供公司(小型)员工内部使用的轻量级管理 Laravel 网络应用程序:

我想尽可能保护它——除了身份验证、访问控制或 2FA。我正在想办法让它对 public 几乎不可见,但仍然可供员工使用。为爬虫定义适当的规则可能会使它变得更加模糊,但我认为可以做更多的事情。基于网络的限制会限制员工的灵活性。

基于此,我想到只有在授权设备发出请求时才能使该应用程序可用。但是我不确定这是否是一个好方法。我也不知道如何解决授权各种设备并在通信期间向服务器提供该信息的问题。

我如何将设备标记为已授权,以便我只需执行一次并可以可靠地验证网络应用程序中的信息?常规身份验证以及基于角色的访问仍然存在位置,但如果访问设备未列入白名单,应用程序可能 return 404 响应。

有没有一种方法可以实现这样的目标,同时又不会对用户造成太多限制或设置起来很痛苦?或者有没有更好的方法达到同样的效果?

考虑使用 VPN?

如果您在内部网络上托管设备,您可以查看 IT 部门是否。可以设置 VPN 访问以远程工作(在大多数情况下,这已经到位),然后不需要通过 URI 通过 Internet 访问它。相反,一旦您通过 VPN 进入网络,您就可以简单地导航到内部地址 - 没有 public 访问权限,也无需担心讨厌的网络爬虫!

它还可以更轻松地审核您的应用程序。例如,如果员工离职,您可以简单地撤销他们的 VPN 访问权限,他们将无法再访问该应用程序。