原創內容屢屢被盜?從源頭對資源盜用說NO

雲叔_又拍雲發表於2021-12-17

在這個資訊化的時代,資源被盜用是一件很讓人厭惡,但又很常見的事。比如,之前郭敬明的小說《夢裡花落知多少》剽竊莊羽小說《圈裡圈外》一事,雖然郭敬明通過個人微博向莊羽道歉,並表示“將把《夢裡花落知多少》這本小說出版後獲得的線上線下所有的版稅以及全部收益彙總計算清楚之後,全部賠償給莊羽女士”。而莊羽在接受郭敬明道歉後,提議一起成立一個反剽竊基金。

而網際網路不單讓資源流傳越發便利,也讓被盜用的資源從文字擴充套件到了圖片、視訊等。可是並不是每一個人都會像莊女士那樣幸運,能得到應有的賠償。因此既然不能完全阻止別人盜竊資源,那麼採取防盜措施在一定程度上防止自己的資源被盜用,就變得重要起來。那麼如何保護我們的資源不被盜用呢?

要知道如何防盜,最優先的是知道自己什麼時候被盜了,不然你都不知道自己被盜了,也就無從談起防盜了。以個人網站為例,你剛上傳好了自己拍攝的新圖,卻發現網站訪問速度越來越慢。你以為是自己拍攝的新圖吸引了大波使用者,就開啟網站後臺檢視今天的訪客數,卻發現只有寥寥幾人。

遇到這種情況,很遺憾的告訴您:您的網站資源很大可能被別人盜用了!當你發現此事,並急急忙忙刪除了這些資源,想讓伺服器緩一緩的時候,你會發現,自己的網站好像還是沒變快多少,檢視訪問日誌,發現請求還是會從四面八方湧過來。這種時候我們就可以用上防盜了。

常見的防盜方式

最常見的防盜方式有以下幾種。雖然這些方法並不能完全解決資源被盜的情況,但可以有效減少資源被盜的影響:

  • 使用 Referer 防盜鏈

這個方法是最常見的,舉個簡單的例子來說,就是當您網站程式接收到來源是 xx 域名的下載請求時,會先判斷請求頭裡的 Referer 欄位的值。如果是自己認識的域名,即自己設定的 Referer 白名單中的域名,就是合法的請求,可以下載,否則返回錯誤資訊。

  • 使用登入驗證

這個方法一般是用在論壇、社群這些需要登入的網站上,當使用者訪問一個資源時,先判斷該請求是否是通過登入驗證的。是的話,使用者可以安全下載;如果不是,則返回錯誤資訊。

  • 使用 Cookie 驗證

這個方法跟上面的差不多,就是在下載的頁面產生一個動態的 Cookie。在處理資源下載請求時先判斷請求的 Cookie 裡面有沒有正確的 Cookie。有的話,使用者就可以合法下載,沒有則會返回錯誤資訊。

  • 使用圖形驗證碼

這個方法可以防止機器程式等不是“人”的請求對資源的下載。相信大家也遇到過,就是從多幅圖片中選出正確的圖片,否則不給通過。不過這個方法比較容易讓正常的使用者感到厭煩。

  • 擅改資源內容

像網站上的熱門電影,MP3 等,壓縮包一般都比較大,這些大的壓縮包檔案是有很多可以插入資料的地方的。比如 MP3 有一個 tag 區,zip 有一個備註區,電影檔案內容的隨便一個地方,只要在下載過程中動態的往這些地方注入一些隨機位元組,就可以讓整個檔案的雜湊值發生改變,可以有效的防止下載工具找上門來下載。

又拍雲一鍵防盜

以上方法都需要大家在本地對資源對伺服器進行相關設定,如果你沒有對應的程式碼知識,操作起來會有點困難,這種時候選擇接入雲服務商就是一個不錯的選擇。大部分雲服務商都提供多種防盜方式,以我們又拍云為例:

水印防盜

通過在資源畫面內新增水印,這樣就算被盜走,別人檢視時也能從水印看到視訊來源。又拍雲提供兩種水印新增方式:

  • 第一種,在檔案上傳到又拍雲端儲存的時候,可以通過新增水印引數 /watermark/url/<url> 實現對圖片水印的新增。視訊也是如此,只是引數變成/wmImg/<watermark_img>,其中水印圖片需要提前上傳到雲端儲存服務下。<url>,<watermark_img> 表示水印圖片路徑的 Base64 編碼後的字元。如/watermark/url/L3BhdGgvdG8vd2F0ZXJtYXJrLnBuZw== 表示把 /path/to/watermark.png 這張圖片作為水印。想了解更多可以點選↓↓閱讀原文↓↓
  • 第二種,可以直接在又拍雲控制檯對應的雲端儲存服務下,建立縮圖版本命名為【watermark】,並開啟裡面的水印功能。再通過 “url + 間隔符 + 版本號” 的形式,在訪問圖片的時候呼叫該縮圖版本,就可以在訪問圖片的時候看到設定的水印了。

除了新增水印,又拍控制檯還支援設定多種防盜鏈(例如上文提到的 Referer 防盜鏈),而且只需要在控制檯按照說明完成相關步驟達到防盜效果。

IP 黑白名單

又拍雲提供全部資源的訪問日誌,一旦發現資源被盜用,那麼可以通過訪問日誌查到對方的伺服器 IP,將此 IP 加入黑名單後,對方將永遠無法訪問到你的任何資源。也就是拒絕對方訪問。

地區訪問限制

如果對方擁有很多IP,而無法具體判斷是哪個,那不妨看看地區訪問限制。此功能可以允許或禁止特定區域的終端使用者對網站資源的訪問,支援按國家/地區、省份、運營商等維度進行配置。

Referer 防盜鏈

這個就是上面提到的最常見的防盜鏈方式,但是在又拍雲使用非常簡單方便。只需要開啟 Referer 黑名單,然後把盜用了您圖片的網站地址填寫進去,點選確定,對方盜用的圖片就會無法顯示。而查詢盜用圖片的網站,也可以通過又拍雲日誌功能來查詢。

Token 防盜鏈

上文中有提到,防盜鏈並不能完全阻止資源被盜用的情況,如果盜鏈伺服器使用動態 IP,我們封禁起來就很麻煩;客戶請求不攜帶 Referer,那麼就會跳過 Referer 防盜鏈。

Token 防盜鏈就能夠處理這些問題。通過設定 Token 金鑰,配合簽名過期時間來控制資源內容的訪問時限。這樣使用者必須攜帶正確的 Token,且只能在規定時間內對該連結進行訪問,可以有效的防止使用者惡意請求,造成沒必要的損失。

回源鑑權

我們也可以考慮回源鑑權,即在源站配置一臺鑑權伺服器,並設定鑑權方式。之後 CDN 邊緣節點每次接受到請求之後,都會回使用者源站的鑑權伺服器進行驗證,驗證通過之後才認為是合法請求,CDN 才會繼續提供服務。

但是高階別的防盜方式也意味著防盜成本的上升,如何選擇合適自己防盜鏈也尤為重要。大家也可以看下《如何選擇適合自己網站的防盜鏈》 網際網路帶給我們豐富的娛樂生活,讓我們查詢心儀的資源越來越方便,但是一定要記得支援正版,支援原版,盜用他人資源是侵犯了他人智慧財產權。如果你面臨著自己資源被盜的情況,除了使用技術手段進行防止,必要時刻也要拿起法律武器維護自己的合法權益哦~

推薦閱讀

進擊的 Ansible(二):如何快速搞定生產環境 Ansible 專案佈局?

服務端渲染基礎

相關文章