2013-03-07 47 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文件進行了一定的時間,所以他們只爲三十分鐘的塊,或一段時間幀處理一次。