我可以使用哪些方式来限制对网站的访问?

Which ways can I use to restrict access to a website?

我目前正在研究如何限制对公司网站的访问。根据正在登录的用户以及用户尝试登录的位置,网站不应打开。例如,这里有一个只能从公司内部访问该站点的用户角色。

我用来验证用户的方法是检查 his/hers public IP 地址与先前允许的 IP 地址的 table,但由于此 IP 地址是动态的,每次更改时我都必须再次手动允许它。我正在寻找其他方法来检测用户是否在公司内,因此我可以允许它继续登录,但我没有想法。

我想过检查用户是否在公司网络内,但我不知道PHP是否可以做到。我也想过找IP范围,但是我对它的了解比较有限,所以我不相信我能来 基于此的可靠解决方案。

对此我还能做些什么?

该网站目前是 运行 Symfony 4 并且托管在 Azure 上,如果这很重要的话。

事实证明,我发现的大多数选项都没有问题,因为我无法满足某些要求,因为它们不适用于我这里的情况。

我们确实在这里找到了一个解决方案:由于我们有两个专用互联网 link,我们已将所有到我们网站的传出流量路由到其中一个 link。由于它们是专用的并且具有静态 IP 地址,我们所要做的就是添加一条规则以允许 link 的 IP。

问题已解决。