專利名稱:一種鏈接處理方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種鏈接處理方法及系統(tǒng)。
背景技術:
當一個網(wǎng)站的服務器實際上沒有網(wǎng)站頁面所顯示的用戶要訪問的內(nèi)容,如某圖片,而該網(wǎng)站通過將該圖片的鏈接連接到別的網(wǎng)站,直接在自己的有廣告有利益的頁面上向最終用戶提供此內(nèi)容。這種現(xiàn)象即稱為盜鏈。盜鏈使得沒有任何資源的網(wǎng)站利用了別的網(wǎng)站的資源來展示給瀏覽用戶,提高了其訪問量,而大部分瀏覽用戶對此無所察覺。顯然,這對于被盜鏈網(wǎng)站是不公平的,不僅空間和流量被盜用,合法利益受到侵害,也加重了服務器的負擔。
發(fā)明內(nèi)容
本發(fā)明要解決的主要技術問題是,提供一種鏈接處理方法及系統(tǒng),可以有效防止盜鏈。為解決上述技術問題,本發(fā)明提供一種鏈接處理方法,包括服務器端收到請求訪問防盜鏈文件的http請求;從所述http請求中獲取相關信息,所述相關信息包含時間、用戶IP、用戶MAC的至少一個,對獲取的所述相關信息或服務器端預設的密碼或兩者的結合以第一方法進行加密產(chǎn)生第一關鍵碼;判斷所述第一關鍵碼與http請求中包含的第二關鍵碼是否一致;若一致,則返回請求的數(shù)據(jù)。本發(fā)明還提出了一種鏈接處理系統(tǒng),所述鏈接處理系統(tǒng)包括接收單元用于接收請求訪問防盜鏈文件的http請求;第一加密單元用于從所述http請求中獲取相關信息,所述相關信息包含時間、用戶IP、用戶MAC的至少一個,對獲取的所述相關信息或服務器端預設的密碼或兩者的結合以第一方法進行加密產(chǎn)生第一關鍵碼;判斷單元判斷所述第一關鍵碼與http請求中包含的第二關鍵碼是否一致;若一致,則返回請求的數(shù)據(jù)。本發(fā)明的有益效果是通過按照預設第一方法產(chǎn)生第一關鍵碼,然后判斷請求訪問該防盜鏈文件的http請求中的第二關鍵碼是否與第一關鍵碼相同,只有相同才會認定為合法請求,允許獲取請求的數(shù)據(jù),這樣就使盜鏈連接的用戶無法訪問這些文件,防止了盜鏈的發(fā)生。
圖1為本發(fā)明一種鏈接處理方法的一實施例的流程示意圖;圖2為本發(fā)明一種鏈接處理系統(tǒng)的一實施例的模塊示意圖。
具體實施例方式下面通過具體實施方式
結合附圖對本發(fā)明作進一步詳細說明。
首先,對本發(fā)明實施例進行簡要說明。本發(fā)明實施例提出了一種鏈接處理方法,包括服務器端收到請求訪問防盜鏈文件的http請求;從所述http請求中獲取相關信息,所述相關信息包含時間、用戶IP、用戶MAC的至少一個,對獲取的所述相關信息或服務器端預設的密碼或兩者的結合以第一方法進行加密產(chǎn)生第一關鍵碼;判斷所述第一關鍵碼與http請求中包含的第二關鍵碼是否一致;若一致,則返回請求的數(shù)據(jù)。進一步地,還可以包括檢測到用戶訪問防盜鏈文件的請求后,網(wǎng)站服務器對所述防盜鏈文件的鏈接地址進行處理,產(chǎn)生所述http請求,所述http請求包含以所述第一方法加密得到的所述第二關鍵碼;所述網(wǎng)站服務器端的加密動作針對的信息包含時間、用戶IP、用戶MAC及所述服務器端預設密碼的至少一個。通過上述簡要說明可以看出, 本發(fā)明實施例通過在收到訪問防盜鏈文件的http請求后,通過第一方法產(chǎn)生第一關鍵碼,然后再比較該http請求中攜帶的第二關鍵碼是否與該第一關鍵碼一致,若一致則允許訪問。通過這種方法,只有那些通過合法網(wǎng)頁訪問防盜鏈文件的用戶才會有與服務器計算得到的相一致的關鍵碼,避免了盜鏈的情形發(fā)生。這是由于合法用戶得到的關鍵碼是通過網(wǎng)頁后臺采用第一方法加密得到的地址,與服務器通過所述第一方法得到的關鍵碼必然一致,所以合法用戶可以訪問該防盜鏈文件。但是通過盜鏈網(wǎng)站給出的鏈接就不能正常訪問,因為假設盜鏈者某次通過合法方式訪問了該防盜鏈文件,而且通過攔截URL獲取了他當次訪問該防盜鏈文件的鏈接地址和關鍵碼,他使用攔截得到的地址和關鍵碼作為盜鏈地址放在自己的網(wǎng)站中,但是由于正確的關鍵碼是變化的,并且正確的關鍵碼和時間、用戶IP、用戶MAC、服務器端預設的密碼中的至少一個有關,所以即使他使用該盜鏈的地址和關鍵碼進行盜鏈,也將會由于服務器產(chǎn)生的關鍵碼與該盜鏈的關鍵碼不一致而造成造成無法訪問。本發(fā)明實施例通過對防盜鏈文件進行加密處理產(chǎn)生關鍵碼,然后判斷請求訪問該防盜鏈文件的http請求中的關鍵碼是否與加密得到的關鍵碼相同,只有相同才會允許正常訪問,這樣就使盜鏈連接的用戶無法訪問這些文件,防止了盜鏈的發(fā)生。所述第一方法具體可以有很多種,以下舉例詳細說明。方法一根據(jù)不同的時段產(chǎn)生不同的關鍵碼;所述時段可以是以天、小時、30分鐘或者其他合適的均勻時間單位;也可以是預設不均勻時段,例如12:00-18:00為一個時段,18:00-19:00為一個時段,19:00-20:00為一個時段;所述不同的關鍵碼可以是預先設置在數(shù)據(jù)庫中的確定的關鍵碼;也可以是隨機產(chǎn)生的關鍵碼;還可以是根據(jù)一些變化的參數(shù)計算得到的關鍵碼,例如根據(jù)切換關鍵碼的當前時刻的時分秒六位數(shù)字通過一定的規(guī)則計算得到的關鍵碼;方法二使用所述相關信息中的至少一個通過預設的加密算法計算得到關鍵碼;例如,可以將當前日期與用戶IP作為組合通過計算MD5值得到關鍵碼;當然,所述的相關參數(shù)不僅僅只包括當前日期和用戶IP,例如還可以包括用戶MAC等參數(shù);方法三通過服務器端預設的密碼與相關信息中的至少一個計算得到關鍵碼;
例如,所述服務器端預設的密碼可以是123456,那么可以將該密碼與當前日期以及用戶IP作為組合通過計算MD5值得到關鍵碼;優(yōu)選地采用MD5作為編碼方式,是由于MD5的編碼方式的不可逆性,所以盜鏈者無法得到服務器端預設的密碼,這樣的方式具有很強的安全性,本身方法也比較簡單;服務器端預設的密碼和某些信息一起進行MD5加密得到一 MD5值,由于MD5算法的不可逆性,無法推知服務器所設置的密碼;該鏈接處理方法僅將加密得到的MD5值添加到請求URL中,該URL不包含終端的明文信息,盜鏈者無法得悉是對哪些信息進行運算得到的MD5值;以上使防盜鏈難以被破解,提高了防盜鏈的可靠性和安全性;進一步地,該服務器端預設的密碼可以按照預設的方法改變,例如可以隨著時間改變,00:00-12:00為123456,12:00-24:00為654321,這樣盜鏈者就更難以破解;進一步地,在方法二與三的基礎上,開可以采用變化的密碼計算方式,例如在時間段18:00-19:00通過服務器端預設的密碼與用戶IP的組合用MD5方法計算,在時間段19:00-20:00通過服務器端預設的密碼與用戶MAC的組合用SHAl方法計算。以上舉例說明了幾種加密方法,但是此處并未窮盡所有的方法,本領域普通技術人員在閱讀上述方法后可能還會得到很多種具體的方法,此處不再一一贅述,但是這些方法也屬于本發(fā)明的保護范圍之內(nèi)。上述方法多以MD5編碼方式進行舉例說明,實際上其他編碼方式也可以,例如SHAUCRC32 等方法。當產(chǎn)生了關鍵碼之后,可以將所述關鍵碼放在防盜鏈文件的鏈接地址之后,作為新的鏈接地址的一部分。`上述方法以比較關鍵碼是否一致的方式進行了說明,實際上,也可以通過比較所產(chǎn)生的新的鏈接地址是否一致的方式。相應地,本發(fā)明還提出了一種鏈接處理系統(tǒng),包括接收單元用于接收請求訪問防盜鏈文件的http請求;第一加密單元用于從所述http請求中獲取相關信息,所述相關信息包含時間、用戶IP、用戶MAC的至少一個,對獲取的所述相關信息或服務器端預設的密碼或兩者的結合以第一方法進行加密產(chǎn)生第一關鍵碼;判斷單元判斷所述第一關鍵碼與http請求中包含的第二關鍵碼是否一致;若一致,則返回請求的數(shù)據(jù)。進一步地,所述鏈接處理系統(tǒng)還可以包括網(wǎng)站服務器端用于檢測到用戶訪問防盜鏈文件的請求后,對所述防盜鏈文件的鏈接地址進行處理,產(chǎn)生所述http請求,所述http請求包含以所述第一方法加密得到的所述第二關鍵碼;所述網(wǎng)站服務器端的加密動作針對的信息包含時間、用戶IP、用戶MAC及所述服務器端預設密碼的至少一個。優(yōu)選地,所述第一方法為使用服務器端預設的密碼與用戶IP、日期計算MD5值得到關鍵碼。以下結合附圖和一個具體實施例進行說明首先說明本發(fā)明一種鏈接處理方法的一實施例中對于正常的合法鏈接的處理方法假設服務器IP 192. 168. 50. 11,服務器端首先在選項中設置密碼(例如設置為123456),并確定要設置防盜鏈的文件或者目錄。對于網(wǎng)頁客戶端來說,通常網(wǎng)頁中顯示的鏈接地址格式如下http ://192. 168. 50. 11/1. rmvb,如果服務器中對該文件設置了防盜鏈,則該鏈接會經(jīng)過后臺加密,該鏈接請求到達服務器時應為http://192. 168. 50. 11/1.rmvb keyCode = 2db5549d642d24283f8a26aed9168b580 上述加密后的鏈接包含了一個keycode,也就是本發(fā)明實施例中的關鍵碼,在本實施例中,該關鍵碼可通過對(服務器端預設的密碼+用戶IP+年月日的阿拉伯數(shù)字)計算MD5值得到。舉例來說,2011年8月20日IP地址為192. 168. 50. 10的用戶對這個防盜鏈文件進行點播,則keycode =MD5 (123456192. 168. 50. 102011820) = 2db5549d642d24283f8a26aed9168b58,因此點播的鏈接發(fā)送到服務器時就應該為上文所述的加密后的鏈接http://192. 168. 50. 11/1.rmvb keyCode = 2db5549d642d24283f8a26aed9168b58。當所述網(wǎng)頁用戶訪問所述防盜鏈文件時產(chǎn)生http請求,所述http請求中的目標地址為加密后的鏈接地址,當服務器收到所述地址后,將會根據(jù)該http請求獲取客戶端的IP地址和時間,然后再根據(jù)上述加密方法計算MD5值,即就是計算keycode =MD5 (123456192. 168. 50. 102011820) = 2db5549d642d24283f8a26aed9168b58,然后判斷計算得到的結果與所述第一 http請求中的鏈接地址中的keycode是否相同,若相同則允許正常訪問。如圖1所示為本發(fā)明一種鏈接處理方法的一實施例的流程示意圖,如圖所示,該方法包括101、接收客戶端的http鏈接請求;所述鏈接請求中包括目標文件的相關信息,例如客戶端IP、、時間等;103、判斷所述目 標文件是否設置了防盜鏈;105、若設置了防盜鏈,獲取客戶端IP與時間;107、計算 MD5 值;根據(jù)所述客戶端IP、時間、服務器端預設的密碼來計算;109、判斷所述MD5值與所述http請求中攜帶的MD5值是否一致;111、若一致,則返回正確的鏈接地址允許正常訪問;當不一致時,則拒絕訪問。如圖2所示為本發(fā)明一種鏈接處理系統(tǒng)的一實施例的模塊示意圖,如圖所示,該系統(tǒng)包括201、信息獲取單元用于得到客戶端的http請求,根據(jù)所述客戶端的http請求至少獲取目標文件信息、客戶端IP、時間;203、計算單元用于計算關鍵碼,如根據(jù)所述客戶端IP、時間、服務器端預設的密碼來計算MD5值作為關鍵碼;205、驗證單元用于判斷203計算得到的MD5值與客戶端的http請求中的MD5值是否一致,若一致則返回請求的數(shù)據(jù),允許正常訪問。進一步地,所述鏈接處理系統(tǒng)還包括網(wǎng)頁后臺服務器,所述網(wǎng)頁后臺服務器用于根據(jù)當前訪問的用戶的客戶端IP、時間、服務器端預設的密碼計算MD5值,將包括了所述MD5值的防盜鏈文件地址提供給用戶。以上內(nèi)容是結合具體的實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。·
權利要求
1.一種鏈接處理方法,其特征在于,包括 服務器端收到請求訪問防盜鏈文件的http請求; 從所述http請求中獲取相關信息,所述相關信息包含時間、用戶IP、用戶MAC的至少一個,對獲取的所述相關信息或服務器端預設的密碼或兩者的結合以第一方法進行加密產(chǎn)生第一關鍵碼; 判斷所述第一關鍵碼與http請求中包含的第二關鍵碼是否一致; 若一致,則返回請求的數(shù)據(jù)。
2.如權利要求1所述的鏈接處理方法,其特征在于,還包括 檢測到用戶訪問防盜鏈文件的請求后,網(wǎng)站服務器對所述防盜鏈文件的鏈接地址進行處理,產(chǎn)生所述http請求,所述http請求包含以所述第一方法加密得到的所述第二關鍵碼; 所述網(wǎng)站服務器端的加密動作針對的信息包含時間、用戶IP、用戶MAC及所述服務器端預設密碼的至少一個。
3.如權利要求1或2任一項所述的鏈接處理方法,其特征在于 所述第一方法為 根據(jù)不同的時段產(chǎn)生不同的關鍵碼。
4.如權利要求1或2任一項所述的鏈接處理方法,其特征在于 所述第一方法為 使用所述相關信息中的至少一個通過預設的加密算法計算得到關鍵碼。
5.如權利要求1或2任一項所述的鏈接處理方法,其特征在于 所述第一方法為 使用時間、用戶IP、服務器端預設的密碼通過MD5算法計算得到關鍵碼。
6.如權利要求4所述的鏈接處理方法,其特征在于 所述加密算法包括以下中的至少一種MD5、SHA1、CRC32。
7.如權利要求1或2任一項所述的鏈接處理方法,其特征在于 所述第一方法按照預設規(guī)則改變。
8.一種鏈接處理系統(tǒng),其特征在于,包括 接收單元用于接收請求訪問防盜鏈文件的http請求; 第一加密單元用于從所述http請求中獲取相關信息,所述相關信息包含時間、用戶IP、用戶MAC的至少一個,對獲取的所述相關信息或服務器端預設的密碼或兩者的結合以第一方法進行加密產(chǎn)生第一關鍵碼; 判斷單元判斷所述第一關鍵碼與http請求中包含的第二關鍵碼是否一致;若一致,則返回請求的數(shù)據(jù)。
9.如權利要求8所述的鏈接處理系統(tǒng),其特征在于,還包括 網(wǎng)站服務器端用于檢測到用戶訪問防盜鏈文件的請求后,對所述防盜鏈文件的鏈接地址進行處理,產(chǎn)生所述http請求,所述http請求包含以所述第一方法加密得到的所述第_■關鍵碼; 所述網(wǎng)站服務器端的加密動作針對的信息包含時間、用戶IP、用戶MAC及所述服務器端預設密碼的至少一個。
10.如權利要求8或9任一項所述的鏈接處理系統(tǒng),其特征在于所述第一方法為使用所述服務器端預設的密碼與用戶IP、日期計算MD5值得到關鍵碼。
全文摘要
本發(fā)明公開了一種鏈接處理方法及系統(tǒng),該方法包括服務器端收到請求訪問防盜鏈文件的http請求;從所述http請求中獲取相關信息,所述相關信息包含時間、用戶IP、用戶MAC的至少一個,對獲取的所述相關信息或服務器端預設的密碼或兩者的結合以第一方法進行加密產(chǎn)生第一關鍵碼;判斷所述第一關鍵碼與http請求中包含的第二關鍵碼是否一致;若一致,則返回請求的數(shù)據(jù)。本發(fā)明實施例通過按照預設第一方法產(chǎn)生第一關鍵碼,然后判斷請求訪問該防盜鏈文件的http請求中的第二關鍵碼是否與第一關鍵碼相同,只有相同才會認定為合法請求,允許獲取請求的數(shù)據(jù),這樣就使盜鏈連接的用戶無法訪問這些文件,防止了盜鏈的發(fā)生。
文檔編號H04L29/08GK103036924SQ201110302248
公開日2013年4月10日 申請日期2011年9月29日 優(yōu)先權日2011年9月29日
發(fā)明者張克東, 王羲桀, 唐濤 申請人:深圳市快播科技有限公司