Php 每30秒只有一个传出链接

Php 每30秒只有一个传出链接,php,Php,我现在在一个有很多外部链接的网站上工作。所有链接都通过一个名为:out.PHP的PHP文件进行 所以一个普通的外部链接应该是:out.php?url=http://www.google.com 我的问题是如何防止人们一次点击多个链接?例如,我希望他们在30秒内只点击一个链接。如果他们点击了另一个链接,就会出现一个错误,告诉他们在访问另一个页面之前等待其余的几秒钟 使用cookies不是一个选项,因为它们仍然可以禁用cookies 提前感谢您的帮助 您可以说您需要cookies才能查看站点 您可以

我现在在一个有很多外部链接的网站上工作。所有链接都通过一个名为:out.PHP的PHP文件进行

所以一个普通的外部链接应该是:out.php?url=http://www.google.com

我的问题是如何防止人们一次点击多个链接?例如,我希望他们在30秒内只点击一个链接。如果他们点击了另一个链接,就会出现一个错误,告诉他们在访问另一个页面之前等待其余的几秒钟

使用cookies不是一个选项,因为它们仍然可以禁用cookies


提前感谢您的帮助

您可以说您需要cookies才能查看站点
您可以使用会话cookies:
如果他们查看页面A:

   if(!isset($_SESSION['A']))
       $_SESSION['A'] = time();
   else {
       if((time() - $_SESSION['A']) <= 30000){
            $_SESSION['A'] = time();
            die('YOU JUST WERE HERE 30 SECONDS AGO! TRY AGAIN LATER!');
       }
   }
   $_SESSION['A'] = time();
if(!isset($\u会话['A']))
$_SESSION['A']=time();
否则{

如果((time()-$\u SESSION['A'])保存在某处单击的url(文件、数据库等)和上次单击时的时间戳。然后每次单击都检查给定url的时间戳(如果存在)。如果在30秒内,则忽略该请求,否则使用该请求并更新时间戳字段。如果需要为每个用户将其分开,请保存IP(或用户ID,如果有的话)也一样。

这个网站的用户在点击链接之前必须登录吗?我编辑了我的答案来帮助你there@Tim库珀:不一定。@Neal:谢谢你的回答,我会查一查。这可能是因为语调的缘故而被否决了,但它相当准确。你不能在IP地址上回复以唯一标识用户,因为IP地址可以ld覆盖整个公司或整个3G互联网用户类别。任何其他身份信息都可能被欺骗或清除。这取决于你对该系统的关注程度gamed@Gareth,语气有点改变^ ^仍然不确定为什么这仍然被否决。这是一个“正确”的答案。我没有否决。我把它投了上去。:)这两种解决方案都很好,所以我仍然怀疑我应该使用哪一种。需要登录就可以了,IP地址就不行了,正如我在给Neal的评论中所描述的那样answer@Gareth:我知道这一点。用户访问网站会获得积分,这就是为什么我希望他们只单击他们感兴趣的网站。如果您登录,您只会获得积分在中。因此未登录的用户,可以单击任意多个。感谢所有人的帮助!我选择这一个作为最佳答案。无论如何,感谢Neal的帮助!非常感谢!