2009-08-18 175 views
28

如何防止從我的網站下載圖像和視頻文件?可能嗎? 什麼是最好的方法來做到這一點?如何防止從我的網站下載圖像和視頻文件?

+0

是不是需要登錄才能訪問?或者你的意思是阻止它們被保存在瀏覽器之外? – jmucchiello 2009-08-18 16:30:56

+0

感謝所有偉大的答案:) – 2009-08-19 05:24:48

+0

我不確定你的目的是什麼,但如果你展示你的藝術作品可以說,你可以使用Flash畫廊讓事情變得更加困難。他們可以做「打印屏幕」的東西,但仍需要時間。 – Tarik 2011-10-22 17:58:48

回答

70

不,這是不可能的。

如果你能看到它,你可以得到它。

+23

+1。你可以讓它變得不方便,你可以讓它變得困難,但是你不能讓它變得不可能。 – JMP 2009-08-18 15:20:31

+6

必須將圖像/視頻下載到瀏覽器以供用戶查看。他們會在電腦上的某個地方。 – Edd 2009-08-18 15:45:20

+1

如果您流式傳輸視頻而不是託管文件,則可能會讓用戶更難以挖掘它們。 – 2009-08-19 14:02:28

1

不,它不是。您可以阻止右鍵單擊和相似的東西,但如果有人想要下載它,他會這樣做,相信我;)

+3

右鍵單擊塊非常煩人我想要右鍵單擊一個鏈接並選擇「在新選項卡中打開鏈接」,例如。 – vit 2009-08-18 15:20:14

+0

只需簡單地在瀏覽器中暫時關閉JavaScript,即可輕鬆繞過右鍵單擊塊。另外,我必須同意智慧:他們真的非常惱人。 – Dubs 2009-08-18 16:00:37

1

只要他們查看包含圖片或視頻的頁面,該項目就會下載到他們瀏覽器的臨時文件夾。所以如果你不想下載它,不要發佈它。

14

請勿將它們發佈到您的網站。

否則這是不可能的。

2

你可以減少的可能性,但不能消除它...

6

總之,沒有。如果有人可以在他們的瀏覽器中查看圖像或視頻,那麼他們已經按照定義下載了它。這就是網絡的工作原理 - 它是基於客戶端服務器的。無論您在瀏覽器(客戶端)中查看的內容是否已從遠程網站(服務器)傳輸到您的計算機。

+2

這就是爲什麼每次有人瀏覽你的網站時都會創建一個「複製品」,這會大大增加互聯網上版權法的混亂局面 – rmeador 2009-08-18 16:12:26

10

必須下載圖片才能被客戶查看。在很多情況下,視頻都是類似的情況。您可以設置代理腳本來提供文件,但這並不能真正解決阻止用戶獲取自己副本的問題。有關此主題的更全面討論,請參閱問題How can I prevent/make it hard to download my flash video?

1

您可以標記文件夾或文件,使其不具有讀取權限(任何主要Web服務器均支持此功能)。這允許您將它們存儲在服務器上,而無需對外界進行任何級別的訪問。如果您有一項服務爲其他人下載圖片,或者您使用Web帳戶進行FTP訪問,但不希望任何人查看文件,則可能需要執行此操作。 (即將一個.bak文件上傳到服務器,讓其他人再次FTP下載)。

但是,正如其他人所說,進入版權領域的人們可以查看圖像或視頻,但不是在本地保存它們,儘管有阻止非法使用的工具,但並不完全可能。

6

在標準的HTML中,我不知道。

你沒有真正說,但我猜你正在與人深層鏈接到你的內容有問題。如果是這樣的話,你是開放的服務器端代碼,我認爲這可能工作:

  1. 創建一個接受數字 ID,它映射到服務器文件路徑頁面, 打開該文件,寫二進制 直接到響應流。
  2. 在頁面請求,生成 一堆隨機的ID,並將它們映射到 實際的媒體的網址,並存儲 映射對象服務器端的某個地方 (會話?)用有限的生命。
  3. 使用媒體呈現您的頁面 指向新媒體頁面 的鏈接以相應的ID作爲查詢 字符串參數。
  4. 清除映射對象,並在每次回發中生成所有新鏈接 。

此:

  1. 不會阻止人們從你的頁面
  2. 內下載從 絕對不是標準 HTML
  3. 如重量輕,有它自己的一套問題。

但它是一個可行的過程的一般概要,它可以幫助您防止用戶進行深度鏈接。

5

正如很多人所說,你不能阻止某人下載內容。你不能。

但是你可以讓它更難。

你可以用透明的div覆蓋圖像,這會阻止人們右鍵點擊它們(或者,設置div到圖像的背景將具有相同的效果)。

如果您擔心交叉鏈接(即其他人鏈接到您的圖片,您可以檢查HTTP引薦來源並將來自不屬於您的域名的請求重定向到「其他」)

6

我想添加一個更具哲理性的評論,尤其是互聯網的全部意圖是共享數據,如果你不想讓人們下載圖片/視頻/文檔,don'把它放在網上其實很簡單,很多人認爲他們可以在現有的設計上強加他們自己的規則,那些想要在網絡上發佈內容並控制其發佈的人正在尋找他們的蛋糕和也吃吧。

+3

哲學沒有問題,除非你花時間和金錢去製作一張優秀的產品照片發現另一個大陸上的一些不提供客戶支持的老鼠已經佔用了你的照片藝術,並削弱了你的價格。 – 2015-09-08 00:13:32

3

它也不會傷害你的圖像水印Photoshop或甚至Lightroom 3現在。確保水印清晰並位於圖像的顯眼位置。這樣,如果下載,至少你得到的廣告!

1

將您的圖像或視頻以Flash格式。很棒。

+0

有沒有一種工具可以在將mp3轉換爲swf的linux服務器上運行? – Pons 2010-04-28 14:31:27

+3

三個字:Flash Decompiler Trillix。也很好。 – Fordi 2010-10-18 07:34:22

0

插入透明的gif 1 x 1像素只是<body>標籤中:

<body><img src="route-to-images/blim.gif" class="blimover"> 

然後用這種風格是:

.blimover { 
    width: 100% !important; 
    height: 100% !important; 
    z-index: 1000 !important; 
    position: absolute !important; 
    top: 0 !important; 
    left: 0 !important; 
} 

這將從一個網頁確認刪除任何點擊功能,但它阻止人們竊取任何內容!

你可以應用相同的<div>,<section>,<article>等,只是相應的名稱,並防止您的副本和/或圖像被撕開。

雖然......沒有停止屏幕抓取......

+2

防止點擊功能不是很好,有時它藐視網站的其他用途 – 2012-10-20 21:52:48

+0

大多數瀏覽器都有檢查元素,這足以下載顯示在瀏覽器上的任何類型的對象 – Oluwatumbi 2015-02-25 17:29:18

+0

當然,我同意這兩個評論,但在向客戶解釋這些以及更多內容之後,他們只是想要第一道防線嘗試防止複製被撕掉。客戶希望客戶得到,解釋陷阱,然後相應發票;) – redplanet 2015-02-25 21:26:04

0

當然,用戶可以看到的任何圖像都可以保存在計算機上,您無法對此做任何處理。現在,如果你想阻止訪問用戶不應該看其他的圖像,我實際上做這樣的說法:

  • 每一個環節都是在你的形象標籤「源」,其實是一個請求 發送到服務器上的控制器,
  • 服務器檢查訪問特定用戶的 權利,並返回圖像如果用戶 應該有訪問它,
  • 所有圖像都存儲在目錄不能從瀏覽器直接訪問的 。

效益:

  • 用戶將無法訪問任何你不原意他/她有機會獲得

缺點:

  • 那些請求很慢..特別是有同一頁面上有很多圖片。我還沒有找到一個好辦法加速這個事實..
0

您可以設置圖像爲背景圖像,並有一個透明的前景圖像。

0

你不能停止圖像/視頻竊取,但你可以讓普通用戶更難,但你不能讓像我們這樣的程序員(我的意思是竊賊知道很少的網絡編程)更難。

有一些技巧,你可以嘗試:

1)使用閃光燈如YouTube和許多其他網站,如http://www.funnenjoy.com一樣。

2)事業部overlaping或背景設定PIC(但用戶很少感可以很容易地通過打開檢查元素或其他開發人員選項)保存所有資源。

3)您可以禁用右鍵點擊特定的按鍵,例如CTRL + S和其他候選條件與JavaScript,但主要缺點是,如果用戶禁用JavaScript的我們所有的招數失敗了。

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

5)在Apache中使用的.htaccess他人網站,以防止圖像的鏈接。我如何做到這一點在未來的情況下,你想知道你可以使用這個網站自動生成.htacess http://www.htaccesstools.com/hotlink-protection/

1

這是。

我把這個的。在根服務器上htaccess文件:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/ [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com.*$ [NC] 
RewriteRule \.(mp4|avi)$ - [F] 

這將停止他們說去domain.com/videos/myVid.mp4,然後從那裏保存。

+0

此方法以前建議在stackoverflow [這裏](http://stackoverflow.com/questions/10236717/htaccess-how-to-prevent-a-file-from -direct-url-access)由Ruslan Osipov提供。其他人報告說它的成功。 – 2015-09-08 00:19:04

-1

我認爲最好的方法是: 在分離的加密部件中分流視頻。

有視頻託管服務,如vzaar有這個功能。 據我所知,這將使它很難直接下載。至少95%的人。

但是,當然,如果視頻在屏幕上播放,人們可以使用屏幕錄像機和一些簡單的軟件從音頻輸出中錄製聲音(但他/她必須播放完整的內容才能保存,完全不方便)。

3

由於瀏覽器需要傳輸內容以顯示它(文本,圖像,視頻),所以當顯示網站時,數據已經存在於客戶端計算機上。然而,正如以前的答案就如何使它更難了一點小建議無經驗的用於抓取的內容,這裏有一些方向:

  • 一般
    • 覆蓋的respecitve內容有透明<DIV>或 透明圖像(如對此問題的一些答案中所述)
    • 在框架集中打開網站,因此保存可能會丟失框架內容。
    • 通過window.open()打開網站隱藏菜單欄。
    • 禁用通過JavaScript右鍵點擊(不推薦,由於可用性所有的副作用)
    • 加載網頁的HTML代碼從另一個文件(可以檢查特定的引薦或可能是ROT13)通過JavaScript,所以很難訪問源代碼。
    • 告訴所有的內容是display:none打印機的瀏覽器(像@media print { body, div, p { display: none } }
    • 使用JavaScript來隱藏內容的客戶端發出的截圖之前(見Stop User from using 「Print Scrn」
    • 嘗試禁用或覆蓋剪貼板(見this post
  • 圖片
    • 不要使用圖像<img>標籤,但設置圖像作爲背景爲<DIV>
    • 將圖像封裝到SVG或Flash電影中,使其很難以可用格式訪問。
    • 爲圖像禁用緩存(通過<meta>標記或通過在服務器傳遞上設置適當的標頭),因此它們不存儲在瀏覽器緩存中(客戶機的計算機上可以非常方便地訪問)。
    • 將圖像剪切成部分,因此需要一些額外的工作來重建整個圖像
    • onmousedown事件添加到圖像,例如顯示版權警報。
    • 通過服務器腳本(例如PHP)傳送圖像並檢查引用者。
  • 影片
    • 流視頻爲了防止簡單的下載通過URL。
    • 裹視頻到Flash電影。
    • 使用支持DRM一些討厭的格式。
  • 文本
    • 使文本不可選擇(見How to make HTML Text unselectable
    • 此外到覆蓋,敷文本成JavaScript(例如,ROT13後或從第二文件動態加載),所以文字不直接在源代碼中提供。
    • 轉換文本到影像(這可能會降低顯示質量),SVGs或Flash

同樣,我再說一遍,這些都不能搶奪內容(例如,通過製作screenshop停止有經驗的用戶和 - 可選 - 在其上運行OCR)。有時候,使用瀏覽器的開發人員工具或使用沒有JavaScript的網站一樣簡單。然而,它會給沒有經驗的用戶帶來困難,所以他們可能會更容易抓住。

也請記住,閱讀頁面的內容時,上述技術會影響搜索引擎(如果你有興趣在阻止他們,用robots.txt開始)。

謝謝你的任何其他的想法,以補充上述名單!

2

如果您使用的是PHP,最好的辦法就是控制它的.htaccess,你需要把你的文件,圖片和視頻正在考慮在一個單獨的文件夾/目錄下,並創建一個新.htaccess文件該目錄的下面:

RewriteEngine On 
RewriteCond %{REQUEST_URI} \.(mp4|mp3|avi)$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://sample.com/.*$ [NC] 
RewriteRule ^.* - [F,L] 

第一行%{REQUEST_URI}將阻止獲得通過Web瀏覽器的文件,或通過curl。 第二行%{HTTP_REFERER}將阻止任何網站訪問使用HTML標籤<img><video>的imahe /視頻例外,除了!你提供的,而不是http://sample.com/通常應該是你的網站本身。

你也可以看看我的問題和接受的答案here在瀏覽器端的更多技巧。

0

如果您只希望授權用戶獲取內容,則客戶端和服務器都需要使用加密。

對於視頻和音頻,Azure媒體服務是一種很好的解決方案,它具有內容保護和加密功能。您將Azure媒體播放器嵌入到瀏覽器中,並從Azure流式傳輸視頻。

對於文檔和電子郵件,您可以查看使用特殊客戶端的Azure Rights Management。不幸的是,它目前不能在普通的網頁瀏覽器上運行,除了一次性的一次性代碼。

但我不確定這究竟有多安全。正如其他人指出的那樣,從安全角度來看,一旦下載的字節位於「攻擊者」的RAM中,它們就像消失一樣。在這種情況下,沒有解決方案是100%安全的(請糾正我,如果我錯了)。與大多數安全一樣,我們的目標是讓它變得更難,所以99%的人不打擾。