Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.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:只允许同时使用两个IP地址_Php_Ip Address - Fatal编程技术网

PHP:只允许同时使用两个IP地址

PHP:只允许同时使用两个IP地址,php,ip-address,Php,Ip Address,我希望我的网站只能从两个IP地址访问。 当站点被2个以上的IP地址访问时,就会出现错误。 有人能用php做这个吗?请帮助我 谢谢使用$\u服务器['REMOTE\u ADDR']获取传入连接的地址,并对其进行测试以执行适当的重定向或其他操作。您需要使用$\u服务器['REMOTE\u ADDR']superglobal变量:这将为您提供客户端请求的IP地址。只需测试是否允许,如果不允许,则显示错误消息。试试看 if($_SERVER['REMOTE_ADDR'] != '212.100.232.

我希望我的网站只能从两个IP地址访问。 当站点被2个以上的IP地址访问时,就会出现错误。 有人能用php做这个吗?请帮助我


谢谢

使用
$\u服务器['REMOTE\u ADDR']
获取传入连接的地址,并对其进行测试以执行适当的重定向或其他操作。

您需要使用
$\u服务器['REMOTE\u ADDR']
superglobal变量:这将为您提供客户端请求的IP地址。只需测试是否允许,如果不允许,则显示错误消息。

试试看

if($_SERVER['REMOTE_ADDR'] != '212.100.232.111' && $_SERVER['REMOTE_ADDR'] != '212.100.232.112'){
 die('No access');
}

如果您想将所有访问者限制在某些IP上,最简单/最快的方法是在web服务器上,例如使用Apache.htaccess,而不是使用PHP:

Order Deny,Allow
Deny From All
Allow From 1.2.3.4
Allow From 5.6.7.8

要限制并发用户的数量,需要在数据库中存储某种会话。 然后,当新用户登录时,检查是否已经有来自不同IP的两个会话,在本例中抛出一个错误


请注意,如果有人处于非活动状态,您必须使会话很快过期,这样他就不会因为没有注销而阻止其他人登录。

您的意思是同时有两个以上的id地址吗?实际上,我的网站一次只需要从两个IP访问。当问题中出现第三个ip时,它将显示一个错误。当2个ip中的一个当前访问站点注销时,则只有第三个ip可以访问该站点。如果您真的希望这样配置web服务器,但我敢猜测,其影响将比您预期的更为严重。我不需要将所有访客限制在特定的范围内。谢谢您的回答。但有一件事让我感到困惑,那就是如果有人不活动,我该如何终止会话?我的意思是,我怎么知道呢?无论何时登录的用户做了什么,你都会存储时间戳。然后,您可以忽略非活动会话(
(time()-lastactivity)>delay
)和/或轻松删除它们。