流媒體直播防盜鏈安全控制
防盜鏈概念主要是從網站的業務中起來,原有定義只要針對網站內容中的文字,圖片被他人非法使用導致,隨著網站內容的逐漸豐富,出現了更多音樂,視訊,flash等方面內容,同時針對防盜鏈的技術要求也在不斷加強。
視訊直播業務的要求在這方面會更加重要,舉例來說,一個教育網站,老師的實時授課視訊,如果未經過授權,就被其他網站非法接入,在其他網站就可以隨意的觀看,這對於經營者來說,將是巨大的損失。如果一個現場的演唱會直播,同樣在未經過授權的情況下,就可以被他人接入觀看,那演唱會的銷售就會直接被影響。而視訊直播的內容,往往都是經過大量資源投入而製作的,一旦被輕易的盜用,對於業務的危害是顯而易見的。
什麼是防盜鏈
防盜鏈其實就是採用伺服器端程式設計,通過url過濾技術實現的防止盜鏈的軟體。比如file.abc.com/test.rar 這個下載地址,如果沒有裝防盜鏈,別人就能輕而易舉的在他的網站上引用這個地址。如果對file.abc.com 這個站的伺服器端程式設計,比如通過file.abc.com/test.rar?authcode=xxxxxxxxxxxxxxxx& ip=127.0.0.1 綁定了ip,只能通過127.0.0.1來訪問這個連結,而無法通過其他IP訪問。
防盜鏈的定義
此內容不在自己伺服器上,而通過技術手段,繞過別人放廣告有利益的最終頁,直接在自己的有廣告有利益的頁面上向終端使用者提供此內容。 常常是一些名不見經傳的小網站來盜取一些有實力的大網站的地址(比如一些音樂、圖片、軟體的下載地址)然後放置在自己的網站中,通過這種方法盜取大網站的空間和流量。
防盜鏈的產生
一般我們在網上瀏覽一個完整的頁面並不是一次性全部傳送到客戶端的。如果所請求的頁面帶有圖片或其他資訊,那麼第一個Http請求傳送的是這個頁面的文字,然後通過客戶端的瀏覽器對這段文字進行解釋執行,如果發現其中還有圖片,那麼客戶端的瀏覽器會再次傳送一條Http請求,當這個請求被處理後這個圖片檔案才會被傳送到客戶端,最後瀏覽器回將圖片安放到頁面的正確位置,就這樣一個完整的頁面要經過多次傳送Http請求才能夠被完整的顯示。基於這樣的機制,就會產生盜鏈問題:如果一個網站中沒有其頁面中所說圖片資訊,那麼它完全可以連結到其他網站的圖片資訊上。這樣,沒有任何資源的網站利用了別的網站的資源來展示給瀏覽者,提高了自己的訪問量,而大部分瀏覽者又不會很容易地發現,這樣顯然對於那些被利用了資源的網站是不公平的。一些不良網站為了不增加成本而擴充自己站點內容,經常盜用其他網站的連結。一方面損害了原網站的合法利益,另一方面又加重了伺服器的負擔。
防盜鏈的實現
要實現防盜鏈,我們就必須先理解盜鏈的實現原理,提到防盜鏈的實現原理就不得不從HTTP協議說起,在HTTP協議中,有一個表頭欄位叫referer,採用URL的格式來表示從哪兒連結到當前的網頁或檔案。換句話說,通過referer,網站可以檢測目標網頁訪問的來源網頁,如果是資原始檔,則可以跟蹤到顯示它的網頁地址。有了referer跟蹤來源就好辦了,這時就可以通過技術手段來進行處理,一旦檢測到來源不是本站即進行阻止或者返回指定的頁面。 如果想對自己的網站進行防盜鏈保護,則需要針對不同的情況進行區別對待。如果網站伺服器用的是apache,那麼使用apache自帶的Url
Rewrite功能可以很輕鬆地防止各種盜鏈,其原理是檢查refer,如果refer的資訊來自其他網站則重定向到指定圖片或網頁上。 如果伺服器使用的是IIS的話,則需要通過第三方外掛來實現防盜鏈功能了,現在比較常用的一款產品叫做ISAPI_Rewrite,可以實現類似於apache的防盜鏈功能。另外對於論壇來說還可以使用“登入驗證”的方法進行防盜鏈。
奧點雲流媒體針對防盜鏈做了針對性的技術方案,使用者可以針對不同的使用場景和條件,進行相應的防盜鏈處理。
基於域名防盜鏈處理
這是最通行的做法,從技術實現上也是最為簡潔和容易使用,但是缺點也是比較明顯的,只適合於網站頁面模式使用,一旦脫離的瀏覽器,就會受到限制。同時從技術上的破解相對也是容易的。
基於連線令牌(Token)接入,通過帶入加密的Token進行接入訪問
這種做法,是針對每個視訊源都設定指定的加密Token,使用者只有獲得Token,才容許授權接入,適合於網站頁面,客戶端,pc,手機使用,實施相對簡單,但是由於Token的相對固定,一旦Token被他人知曉,也會面臨內容源被盜取的風險。
基於釋出令牌(Token)加密,結合授權服務接入訪問
釋出令牌授權,是在原有Token授權模式上,做了更進一步的加強,Token每時每刻都在不斷隨機變化,使用者必須連線到授權伺服器,每次接入的時候,都需要從授權伺服器獲取最新的Token,才容許接入。這個就類似銀行的個人usb安全密碼器,在登入網上銀行的時候,需要獲取隨機登入密碼,才可以登入網銀。 在這種情況下,使用者如果無法連線到授權伺服器,幾乎是不可能得到連線令牌,從而杜絕的被非法使用的可能性。這種模式同樣適用於頁面,客戶端,pc,手機各種接入模式。同時實施相對簡單。