通过IP地址限制对用户功能的访问

时间:2011-02-28 10:49:30

标签: php ip anonymous

我有一个网站,允许任何用户使用该功能,但每位用户只能使用固定的次数。

请允许我详细介绍一下,我们的“匿名/访客”用户每24小时只能在数据库中搜索3次条目。有没有办法可以使用IP跟踪用户对此的尝试,在3次尝试后限制它们,然后在24小时后让它过期?

该网站是用PHP构建的,但无论使用哪种语言,我都愿意接受它。

修改

这个想法来自客户,他们有一个“库存商”列表他们的产品,他们希望向网站用户提供这些信息。然而,他并不希望竞争对手利用他的系统并“削减”他的库存商。因此限制。如果你能提出一个更好的方法来实现同样的目标,那就太棒了

干杯, 丹

1 个答案:

答案 0 :(得分:9)

您必须使用$ _SERVER全局变量,如下所示:

if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
  // restrict
}

但你必须考虑kojiro的注意:按IP地址限制不是一个好主意。

修改: 要有建设性。

如果您想在低级别上执行此操作,则可以使用Cookie。这些变量存储在用户的浏览器中,如果用户在本地清除cookie,他/她可以覆盖您的限制 http://www.php.net/manual/en/function.setcookie.php

更好的解决方案是使用此过滤器的会话:
http://php.net/manual/en/session.examples.basic.php