我有一个带有一些直接下载链接的网页(HTML、php、javascript)。我想阻止在短时间内点击所有这些下载链接的用户。
我想要这样的东西:1)单击一个链接->直接下载2-a)单击另一个链接太快->重定向到带有文本“请稍等再下载另一个文件”的新页面2-b ) X 次后点击另一个链接 -> 直接下载
请建议我如何做到这一点(更简单的方法,不需要是“高安全性”的,只是为了限制意外点击)。谢谢
我有一个带有一些直接下载链接的网页(HTML、php、javascript)。我想阻止在短时间内点击所有这些下载链接的用户。
我想要这样的东西:1)单击一个链接->直接下载2-a)单击另一个链接太快->重定向到带有文本“请稍等再下载另一个文件”的新页面2-b ) X 次后点击另一个链接 -> 直接下载
请建议我如何做到这一点(更简单的方法,不需要是“高安全性”的,只是为了限制意外点击)。谢谢
COUNT(*) from downloads WHERE identifier=? and timestamp <= ?
如果您正在使用sessions
,那么“在其中保存上次下载时间”是一种方法:
$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
当用户单击下载链接并将其与指定的持续时间进行比较时,您可以使用 javascript 检查时间。如果超出的持续时间较长,请重定向到页面或提醒一些信息。