Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以使用哪些方式限制对网站的访问?_Php_Symfony_Access Control - Fatal编程技术网

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

Php 我可以使用哪些方式限制对网站的访问?,php,symfony,access-control,Php,Symfony,Access Control,我目前正在研究限制访问该公司网站的方法。根据登录的用户以及用户尝试登录的位置,网站不应打开。例如,此处有一个用户角色,该角色只能从公司内部访问站点 我用来验证用户的方法是对照以前允许的IP地址表检查他/她的公共IP地址,但由于此IP地址是动态的,每次更改时,我都必须再次手动允许它。我正在寻找其他方法来检测用户是否在公司内,这样我就可以允许它继续登录,但我没有主意了 我曾经考虑过检查用户是否在公司的网络中,但我不知道我是否可以用PHP实现这一点。我也考虑过寻找IP范围,但我对它的了解非常有限,所以

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

我用来验证用户的方法是对照以前允许的IP地址表检查他/她的公共IP地址,但由于此IP地址是动态的,每次更改时,我都必须再次手动允许它。我正在寻找其他方法来检测用户是否在公司内,这样我就可以允许它继续登录,但我没有主意了

我曾经考虑过检查用户是否在公司的网络中,但我不知道我是否可以用PHP实现这一点。我也考虑过寻找IP范围,但我对它的了解非常有限,所以我不相信我能来 在此基础上提供可靠的解决方案

对此我还能做些什么


该网站目前正在运行Symfony 4,如果有必要的话,它托管在Azure上。

事实证明,我发现的大多数选项都是毫无疑问的,因为我无法满足某些要求,因为它们不适用于我的情况

我们在这里找到了一个解决方案:因为我们有两个专用的internet链接,所以我们将所有发送到我们网站的流量路由到其中一个链接。因为它们是专用的并且有静态IP地址,所以我们所要做的就是添加一个规则来允许链接的IP地址


问题已解决。

因此,如果该公司的用户(允许查看该页面)尝试从主页登录,则不允许他查看该页面?没错。此人应该只允许从公司登录,而不允许从其他任何地方登录。网站托管在哪里?它托管在Azure上。您是否检查了何时必须留在Azure上?否则,我建议在公司的网络中托管该应用程序。