2013-03-07 88 views
0

我有一个“download.php”脚本提供文件下载和用户可以选择下载一个ZIP文件,这是他们自定义..所以需要即时生成。提供文件供PHP下载 - 停止多次点击

我得到的问题是,如果用户快速连续5次单击ZIP文件,ZIP会在服务器上生成5次。

我需要一种方法,只在第一次点击时生成这个,而不是一直重复生成。

我做想“禁用”的链接永久,因为再次下载该文件,几分钟后是好的,如果用户想,我只是想尝试和阻止恶意用户锤击下载脚本不断使用服务器处理能力生成ZIP。

任何想法?我一直在尝试了几个小时,似乎无法得到它有效的解决方案:/

感谢

回答

0

是它包括图形验证码或类似的激活下载的选项?这将停止快速点击。

+0

不是很不幸,有点需要它是无缝的,所以用户不会“意识到”。 – BT643 2013-03-07 19:45:10

0

将jQuery添加到首页以在第一次单击之后禁用按钮。喜欢的东西:

$("#button").click(fuction(e) { 
    $(this).attr("disabled", ""); 
}); 

此外,您还可以缓存的zip文件进行了一定的时间,所以他们只为三十分钟的块,或一段时间帧处理一次。