8

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

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

该网站是用 PHP 构建的,但无论哪种语言都可以提供此功能,我对此持开放态度。

编辑:

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

干杯,丹

4

1 回答 1

10

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

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

但是您必须考虑 kojiro 的注释:通过 IP 地址进行限制不是一个好主意。

编辑:具有建设性。

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

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

于 2011-02-28T11:05:37.050 回答