“你下载文件的速度太快了”;在我的网页上


Develop "You are tring to download files too quickly" in my webpage

我有一个网页(HTML, php, javascript)与一些直接下载链接。我想阻止在短时间内点击所有这些下载链接的用户。

我想要这样的东西:1)点击链接->直接下载2-a)点击另一个链接太快->重定向到一个带有文本"请稍等,再下载另一个文件"的新页面。2-b)在X时间后点击另一个链接->直接下载

请建议我如何做到这一点(更简单的方法,不需要是一个"高安全性"的,只是为了限制意外点击)。谢谢你

如果您使用的是sessions,那么"save a last download time in it"是一种方法:

$limit = 3; // seconds
$now   = time();
$last  = isset($_SESSION['download-stamp']) ? $_SESSION['download-stamp'] : 0;
if($now - $last < $limit){
    header('Location: wait.html');
    exit;
}
$_SESSION['download-stamp'] = $now;
// flush file
  1. 以某种方式识别用户(例如使用cookie(可以被删除)或他们的IP地址(可以被更好的用户共享))。
  2. 根据时间戳记录数据库中的下载
  3. COUNT(*) from downloads WHERE identifier=? and timestamp <= ?

您可以在用户点击下载链接时使用javascript检查时间,并将其与指定的持续时间进行比较。如果超过的持续时间较长,则重定向到另一个页面或提示一些信息。