2009-07-17 47 views
4

我想至少防止普通用戶下載我的Flash視頻。如何防止/難以下載我的Flash視頻?

這樣做的最佳方法是什麼?

創建HttpHandler的,添加的令牌(例如TIMEID),設置高速緩存控制爲no-cache,以便只有具有正確令牌的用戶可以查看正確的視頻。這是可行的嗎?

這是從客戶端的視頻不應該由用戶下載,只應在特定網站上觀看的要求。

我想知道,如果這個工程: http://www.somesite.com/video.swf?time=1248319067

Server將生成令牌(時間在上面的例子),這樣用戶只能有一個請求,這個鏈接。如果用戶想要再次觀看視頻,他需要再次訪問我們的網站以獲取令牌。這可以防止新手下載嗎?

我不能被downloadHelper Firefox插件下載這個flash視頻: http://news.bbc.co.uk/2/hi/americas/8164177.stm

更新(13:49 PM 2009/07/23): 上述文件可以使用一些視頻下載軟件進行下載。

下中國網站的視頻文件都有很好的保護(使用我不能下載了很多視頻下載軟件): http://programme.tvb.com/drama/abrideforaride/video/

你知道它是怎麼做的?

+0

嗯嗯很難...抱歉,我不得不說... – 2009-07-17 09:06:37

+0

你不說你爲什麼要防止它。瞭解爲什麼會幫助人們建議比您選擇的解決方案更好的替代方案,即防止下載。 – 2009-07-17 10:14:24

+0

增加原因。 – Billy 2009-07-17 10:32:27

回答

7

我不認爲有一個簡單的方法,從讓你的視頻停止人,如果他們想要他們,

有很多插件的Firefox是允許從連YouTube和許多地方下載的。我想這些插件會禁用您爲隱藏視頻所做的任何嘗試。

與從閃爍圖像拍攝圖像相比,它們並沒有太大的不同,它們在要查看的圖像上放置了一個清晰的gif圖像,以便在右擊並保存時獲得「屏蔽」圖像,但可以被擊敗通過低打印屏幕按鈕。

如果你想休閒用戶找回你的文件

,使用閃光燈控制和緩衝一兩分鐘的視頻和做出閃光燈與服務器進行身份驗證,以獲得這些文件。這對我來說似乎是合理的

1

聽起來你需要添加授權和認證。

你可以把Flash視頻在不同的文件夾在你的ASP.Net應用程序和該文件夾中添加一個web.config文件拒絕訪問未經授權的用戶。例如:

然後,你需要啓用身份驗證爲您的網站。最簡單的方法是forms authentication。提供硬編碼用戶名和密碼的簡單示例here

在ASP.Net中可以使用身份驗證框架執行加載操作,我建議使用Google搜索一下。

2

我不認爲真的有一個簡單的方法來限制人們獲取它。您向他們發送視頻,這是他們如何查看它。任何用戶都可以使用FRAPS或類似的工具從屏幕上覆制視頻。

如果你擔心被複制和其他地方使用,那麼你可以水印,或使用一些其他類型的複製保護方法,將讓您識別在其他網站上你的工作。如果你擔心人們將其複製爲個人用途,那麼你真的無法阻止它,你將它發送給他們。

編輯:盡職調查將通知您的客戶複製他們將發佈的工作是多麼容易。大多數客戶真的不知道它有多容易。

1

要做到這一點的唯一方法是使用受信任的客戶端,DRM和加密源。

您的播放器打開了一個連接,用戶必須流的連接,你用自己的令牌執行一些神奇的身份驗證,然後加密數據transmite給他們。

如果你不這樣做,那麼任何人都可以下載你的視頻並保存。

但是,除了這些之外,有人可以運行屏幕截圖,然後保存視頻並重新執行。這又是DRM進來的地方,因爲Windows客戶端中的DRM的一個關鍵特性是緩衝區不能被嗅探,因爲它在受保護的媒體路徑上。

我猜它如何保護你的收入,但對付海盜總是將成爲軟件開發者的一個問題不管他們的業務是一個問題。

0

我試過兩種方法來阻止下載但失敗。

  • 使用javascript動態生成閃存對象。
  • 使用問題中提出的令牌思想。

最令我討厭的是,來自firefox瀏覽器的簡單SAVE/AS可以輕鬆繞過這些竅門。

迄今唯一變量的方法是使用一個空的SWF文件來加載另一個SWF文件。與令牌理念相結合,它的工作原理。

1

我有我要去嘗試爲自己(因爲我有同樣的憂慮),但我知道,它包括了很多額外的時間和工作...

解決方案的解決方案:使用閃光燈壓縮視頻轉換爲swf文件。在壓縮之前,將一些AS代碼添加到影片進行驗證。爲驗證建議:

1測試網址 2創建具有由video.swf檢查

我喜歡#2更好,並作爲額外的措施,您可以覆蓋一個ID代碼交換碼專用的Flash播放器在視頻,所以如果有人使用屏幕錄製軟件捕獲視頻,你至少能夠跟蹤複製的視頻..和準確適用報應的原始來源...

1

只要你不能阻止它。但是..你可以讓它變得困難。 這裏的一些想法進入我的意識

1,首先你的標識添加到視頻(總有人可以下載)

2難的方法......後面添加Ajax調用服務器來檢查隨機生成的密鑰,它將每隔N秒存儲在會話中。每次發佈後清除播放器的緩衝區,並開始從我的視頻(使用JavaScript)。 再次使用JavaScript防止視頻源被「查看源」下載。

3手柄在URL中的所有影片一樣http://www.example.com/viewvideo/1 OR ../?id=1。 用透明背景添加空白圖像疊加。 在正常擴展名和樣式屬性「display:none」的頁面上某個地方提供原始視頻和空白視頻。 (會造成問題,一些下載傭工)

4每當你投放視頻檢查,如果請求是來自瀏覽器(即檢查用戶代理)

5餅乾與視頻的ID結合了一些隨機值。檢查它的客戶端和服務器端,然後提供視頻。

6在focusOut事件隱藏與JavaScript的視頻。在閃光燈中放置一個恢復按鈕並保持框架不變(如暫停但沒有原始視頻進入緩衝區)。

7結合這些方法

這些都是隨機產生的, 沒有測試無論是我說沒有擔保視頻下載。

2

這是我怎麼樣來解決這個問題。

此方法通過創建一票,下載過一個http請求的內容...使用相同的票來下載內容的另一個嘗試將失敗,因此試圖再次下載該內容的擴充功能或用戶手動試圖不這樣做,因此Flash播放器將是下載內容的唯一方式。然而,這種方法有一個缺點,用戶將無法跳到未下載視頻的一部分......在某些標準播放器實現中,甚至可能會阻止視頻加載。任何想法都將受到高度讚賞。

我開始編寫一個PHP腳本,它將一個GET請求中的視頻文件(取決於視頻集合的存儲基礎設施)的視頻文件,文件名或本地路徑以及唯一散列值(a很難猜測,並提出可能與一個祕密密鑰生成,所以它可以驗證來自我們的接收者(Flash播放器),如果黑客發送給我們一個使用過的哈希或無效哈希(不滿足我們的密鑰),我們將不會發送給他的文件)。 PHP腳本隨後打開視頻文件並使用正確的視頻MIME類型發送其內容。對於FLV,MIME類型是video/x-flv。它確保一旦以前沒有使用獨特的散列,並且從您的祕密加密密鑰有效地生成。

然後,一旦與Flash Player加載頁面時,我們可以給用正確的PHP文件獲取參數作爲視頻網址到視頻播放器。 (如果它是一個放不開的球員,僅允許FLV文件可以隨時設定您的.htaccess文件只解析。FLV文件作爲PHP腳本中的特定文件夾,重命名你的PHP文件爲FLV和。試試你的運氣).. .anyways ...同時生成一個散列鍵......也許你可以把服務器當前的時間,並附加到一個鹽值,如兩個腳本已知的另一個鍵,並用你的密鑰加密這個最終的連接。

因此,一旦視頻網關php腳本將收到一個文件名或哈希鍵......它會解密哈希鍵,並找出它是否有效地從姐妹腳本生成,並確保不再發送視頻到相同的散列鍵...

爲了增加安全性,您可以使用cronjob或bootstrap機制每天重置密鑰。爲了防止重複使用散列鍵,可以將它們存儲在mysql數據庫,文件操作或NOSQL(取決於您的需要和基礎結構)中。

請確保該文件是由相同的用戶代理請求生成散列鍵。如果黑客在flash播放器有機會使用散列密鑰之前嘗試使用cURL或Wget您的視頻未使用的url。在這種情況下,黑客必須模仿瀏覽器的用戶代理或使用他們的命令行工具下載文件......但請注意,這不是您的平均冠軍。

0

在我的答案你不能停止圖像/視頻盜竊,但你可以讓普通用戶更難,但你不能讓像我們這樣的程序員更難(我的意思是竊賊,知道一點網絡編程)有一些技巧你可以嘗試: -

1.)使用Flash作爲YouTube和許多其他網站,如http://www.funnenjoy.com

2.)div重疊或背景圖片設置(但用戶很少意識可以通過打開檢查元素或其他開發人員選項輕鬆保存所有資源)。 3.您可以禁用右鍵單擊和特定的按鍵,如CTRL + S and others possibles with JAVASCRIPT,但主要缺點是,如果用戶禁用JAVASCRIPT我們所有的技巧失敗。

4.)每當需要圖片/視頻時,將圖片保存在非在線目錄中(如果您有完全訪問網頁服務器的權限),並使用服務器端語言(如PHP)讀取該文件,並更改圖片ID時間或創建腳本可以在每次訪問後自動更改ID。

5.)在apache中使用.htaccess阻止其他站點鏈接您的圖片。你可以用這個網站自動生成.htacesshttp://www.htaccesstools.com/hotlink-protection/