我现在正在一个有很多外部链接的网站上工作。所有链接都通过一个名为:out.php
的PHP文件因此,正常的外部链接类似于:out.php?url = http://www.google.com
我的问题是如何阻止人们一次点击多个链接?我希望他们在30秒内只点击一个链接,例如。如果他们点击另一个链接,则应该出现一个错误,告诉他们等待其余几秒钟,然后再访问另一个页面。
使用Cookie不是一种选择,因为它们仍然可以禁用cookie。
提前感谢您的帮助!
答案 0 :(得分:2)
保存点击某处的网址(文件,数据库,...)以及上次点击时的时间戳。然后,对于每次单击,检查给定URL的时间戳(如果存在)。如果它在30秒内窗口忽略请求,否则使用请求并更新时间戳字段。如果您需要为每个用户分隔它,也可以保存IP(如果有的话,也可以保存用户ID)。
答案 1 :(得分:0)
您可以说您需要Cookie才能查看该网站
您可以使用会话cookie:
如果他们查看页面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();
或类似的东西,上面的代码不完善