2010-12-12 21 views

回答

1

類似rapidshare的網站沒有任何訪問您的瀏覽器/下載管理器的權限。他們根據您的IP地址找出有關您的服務器下載的信息。

我不認爲你可以做任何可以有這種權限的網絡應用程序。

+0

幾乎每個文件共享網站,我知道有一個支持下載加速器付費版本。如果您嘗試從類似rapidshare的網站下載文件,那麼如果您恰好使用FlashGet之類的下載管理器,則會阻止發生下載。 – ashwnacharya 2010-12-12 14:34:44

+0

這有點不同,他們檢測代理訪問url並允許根據請求訪問。同樣,如果下載用戶不是高級會員,則他們會阻止來自同一ips的同時請求。 – crodjer 2010-12-12 14:39:35

1

你想防止什麼?下載管理器本身並不是邪惡的。

你甚至怎麼定義一個下載管理器?每個網頁瀏覽器都有一個不同質量的集成下載管理器。

您應該嘗試阻止下載管理者不喜歡的行爲,而不是自己下載管理者。

  • 可以使用驗證碼防止自動下載(但可能並不總是工作,惹惱用戶)
  • ,您可以通過允許每個IP只有一個下載防止多個並行下載。
+0

我只是好奇他們是如何工作的。用戶代理是檢測它的一種可能的方法。 – ashwnacharya 2010-12-12 14:35:27

2

當您是服務器時,您可以收到一些關於訪問您的客戶端的有趣信息。

其中一個參數是告訴你「用戶代理」,或簡單地說是瀏覽器類型。

在PHP中,它位於數組$ _SERVER(http://php.net/manual/en/reserved.variables.server.php)中。

在Dot Net中,我認爲它是HttpRequest類的一部分(http://msdn.microsoft.com/en-us/library/system.web.httprequest.aspx)。

實時,你可以「詢問」那些參數什麼是客戶端類型(IE,Firefox或獨立客戶端),並對它做出反應,比如阻止下載。

+0

是的,用戶代理是一個好主意。但如果我沒有弄錯,它可能會被欺騙。 – ashwnacharya 2010-12-12 14:35:58

0

如果你的意思是防止可恢復和多連接下載你應該添加一個接受-範圍:無頭你響應

在Asp.net或Asp.net MVC:

Response.AddHeader("Accept-Ranges", "none");

爲了更多地瞭解這個看Accept-Ranges