2012-09-04 27 views
0

我需要知道如何使用.htaccess來防止重複文件下載,或者如果不是通過.htaccess而不是其他方法。如何使用.htaccess防止大量下載某個文件

我維護的網站在單個PDF文件上有超過9,000次點擊,佔網站總帶寬使用量的80%以上,我相信大部分點擊來自同一個IP地址。我禁止了知識產權,但這顯然不是一個有效的解決方案,因爲總是有代理人,除此之外,我只能在事後才這樣做。

所以我想要做的是限制單個IP可以嘗試下載指定文件或文件類型在給定時間段內的次數。這可以通過.htaccess完成嗎?如果不是,我還有什麼其他選擇?

編輯:建議我將請求重定向到服務器端腳本,通過數據庫跟蹤IP請求聽起來像一個很好的選擇。任何人都可以推薦現有的腳本或庫嗎?

回答

0

如果你有一些服務器端的代碼流出你的文件,你有機會控制發送的東西。我不知道一個.htaccess解決方案(這並不意味着沒有一個)。

我的背景是在微軟的產品,所以我會寫一點ASP.NET代碼,將接受文件名作爲參數&流回結果。由於這將是我的代碼,我可以輕鬆訪問數據庫來跟蹤我服務的IP,發送文件的頻率等。

這可以很容易地使用任何服務器端技術 - PHP等。

+0

因此,我可以說,將所有PDF請求重定向到PHP腳本,只要不超過限制,該腳本就會將原始文件作爲標題返回。通過數據庫跟蹤它並不是我能想到的最有趣的解決方案,但我可以看到它如何完成工作。 – eclecto

+0

這是一般的想法。數據庫可能會過度殺傷;這取決於你的特定解決方案。很酷的部分是,使用PHP腳本你至少有選擇。 –