我有一个“download.php”脚本,提供下载文件,用户可以选择下载自定义的ZIP文件..因此需要动态生成。
我遇到的问题是,如果用户快速连续点击ZIP文件5次,则会在服务器上生成5次ZIP。
我需要一种只在第一次点击时生成此方法的方法,而不是一遍又一遍地生成。
我不想要永久“禁用”该链接,因为如果用户想要的话,几分钟后再次下载该文件很好,我只想尝试阻止恶意用户锤击下载脚本使用服务器处理能力不断生成ZIP。
有什么想法吗?我已经尝试了几个小时,似乎无法找到一个有效的解决方案:/
由于
答案 0 :(得分:0)
是否可以选择包含验证码或类似代码来激活下载?这将阻止快速点击。
答案 1 :(得分:0)
首次点击后,将jQuery添加到首页以禁用该按钮。类似的东西:
$("#button").click(fuction(e) {
$(this).attr("disabled", "");
});
此外,您可以将zip文件缓存一段时间,以便它们仅在30分钟的块或一段时间内处理一次。