防盜鏈方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種防盜鏈方法,包括:接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID;根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;比較所述用戶簽名與所述校驗(yàn)簽名,當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求。本發(fā)明還提供了一種防盜鏈系統(tǒng),從而減少了被盜鏈的可能,使得防盜更加地徹底,同時(shí)也減輕了防盜過程中的工作量。
【專利說明】
防盜鏈方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及互聯(lián)網(wǎng)安全技術(shù)領(lǐng)域,尤其涉及一種防盜鏈方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)以及多媒體技術(shù)的快速發(fā)展,大量的安全問題應(yīng)運(yùn)而生,盜鏈就是其中的一方面。盜鏈?zhǔn)侵阜?wù)提供商自己不提供服務(wù)的內(nèi)容,通過技術(shù)手段繞過其它有利益的最終用戶界面(如廣告),直接在自己的網(wǎng)站上向最終用戶提供其它服務(wù)提供商的服務(wù)內(nèi)容,片區(qū)最終用戶的瀏覽和點(diǎn)擊率。
[0003]例如,實(shí)際應(yīng)用中,一些不法商家可以通過相關(guān)技術(shù)(如網(wǎng)絡(luò)爬蟲技術(shù))爬取多媒體服務(wù)提供商提供的流媒體文件的URL地址(Uniform Resource Locator,統(tǒng)一資源定位符),將URL地址里面的一些代碼更改后放到自己的空間中,待用戶想觀看這個(gè)視頻時(shí),就直接點(diǎn)擊這個(gè)鏈接后就可以直接播放,而真正的服務(wù)提供商卻不知道自己的資源已經(jīng)被盜鏈了,給真正的服務(wù)提供商造成了巨大的經(jīng)濟(jì)損失。
[0004]在盜鏈的過程中,受益者不提供資源或提供很少的資源,而真正的服務(wù)提供商卻得不到任何的收益,并且還要承受因?yàn)楸槐I鏈所帶來的一系列危害,如:網(wǎng)站盜鏈會(huì)大量消耗被盜鏈網(wǎng)站的帶寬,導(dǎo)致被盜鏈網(wǎng)站的訪問速度變慢,真正的點(diǎn)擊率也許會(huì)很小,而且如果一臺(tái)服務(wù)器中存在大量這樣的盜鏈情況,服務(wù)器的速度就會(huì)下降,網(wǎng)絡(luò)卡頓,給用戶帶來不好的體驗(yàn),還嚴(yán)重?fù)p害了被盜鏈網(wǎng)站的利益,更嚴(yán)重的如果盜鏈網(wǎng)站還有色情、反動(dòng)內(nèi)容,更會(huì)對(duì)被盜鏈網(wǎng)站的名譽(yù)造成嚴(yán)重影響。因此互聯(lián)網(wǎng)尤其是無線互聯(lián)網(wǎng)安全領(lǐng)域,盜鏈安全防護(hù)勢(shì)在必行。
[0005]現(xiàn)有的防盜鏈方案按原理可分為如下幾種:
[0006]I)不定期更改文件名或者文件目錄
[0007]此防盜鏈方法是,通過隨機(jī)的更改資源文件的名稱或者地址來實(shí)現(xiàn)防盜鏈的功能。此方法優(yōu)點(diǎn)是簡(jiǎn)單易行,缺點(diǎn)是工作量很大,而且可能會(huì)影響用戶的正常下載。
[0008]2)限制引用頁(yè)
[0009]這種防盜鏈的原理是,根據(jù)HTTP請(qǐng)求的HTTP_REFERER字段來限制是否為可信來源發(fā)起的請(qǐng)求?;蛘呖梢越Y(jié)合.htaccess等重寫功能實(shí)現(xiàn)更進(jìn)一步的防盜鏈功能。
[0010]此方法相比于第一種突破難度要大。缺點(diǎn)則在于每次訪問都需要操作.htaccess文件對(duì)性能有影響,同時(shí)在服務(wù)端開啟重寫功能會(huì)有一些限制,而且用戶可以通過偽裝HTTP_REFERER的方式突破限制。
[0011]3)加密認(rèn)證
[0012]這種防盜鏈方式,首先從客戶端獲取用戶信息,然后根據(jù)特定的規(guī)則將用戶信息組成加密字符串作為身份驗(yàn)證信息,傳給后臺(tái)防盜鏈系統(tǒng)進(jìn)行身份驗(yàn)證。只有驗(yàn)證成功,月艮務(wù)端才會(huì)把用戶需要的文件傳給用戶,但這種方式容易被破解,使得防盜鏈不徹底。
[0013]4)文件偽裝
[0014]此防盜鏈方法需要服務(wù)端的功能加以配合,原理就是當(dāng)用戶需要請(qǐng)求對(duì)應(yīng)的資源的時(shí)候,服務(wù)端會(huì)對(duì)用戶的sess 1n或者cookie或者HTTP_REFERER進(jìn)行校檢。
[0015]此方法由于不會(huì)暴露文件的真實(shí)地址,且會(huì)對(duì)用戶的身份進(jìn)行驗(yàn)證,因此防盜鏈效果很好。但是此服務(wù)由于需要對(duì)用戶信息做一些判斷,因此效率會(huì)受到影響,且不適合視頻點(diǎn)播這種服務(wù)場(chǎng)景。
【發(fā)明內(nèi)容】
[0016]為了減少防盜鏈中工作量并解決引用地址容易被偽造以及加密字符串容易被破解而導(dǎo)致的防盜鏈不徹底的情況,一方面,本發(fā)明實(shí)施例提供一種防盜鏈方法,包括:
[0017]接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID;
[0018]根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;
[0019]基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;
[0020]比較所述用戶簽名與所述校驗(yàn)簽名,當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求。
[0021]本發(fā)明實(shí)施例提供一種防盜鏈系統(tǒng),包括:
[0022]接收模塊,用于接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID;
[0023]密鑰確定模塊,用于根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;
[0024]校驗(yàn)簽名生成模塊,用于基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;
[0025]簽名比較模塊,用于比較所述用戶簽名與所述校驗(yàn)簽名;
[0026]播放請(qǐng)求處理模塊,用于當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求。
[0027]本發(fā)明實(shí)施例提供的防盜鏈方法及系統(tǒng),通過對(duì)接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID;根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;比較所述用戶簽名與所述校驗(yàn)簽名,當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求的方式進(jìn)行防盜減少了被盜鏈的可能,使得防盜更加地徹底,同時(shí)也減輕了防盜過程中的工作量。
【附圖說明】
[0028]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0029]圖1為本發(fā)明一實(shí)施例的防盜鏈方法的流程圖;
[0030]圖2為本發(fā)明另一實(shí)施例的防盜鏈方法的流程圖;
[0031]圖3為本發(fā)明一實(shí)施例的防盜鏈系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033]需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施方式及實(shí)施方式中所涉及到的技術(shù)特征彼此之間可以相互組合。
[0034]本發(fā)明可應(yīng)用在各種視頻網(wǎng)站(如樂視、優(yōu)酷、PPTV、愛奇藝等)中對(duì)視頻的點(diǎn)播、直播等各種場(chǎng)景下。
[0035]本發(fā)明實(shí)施例中可以通過硬件處理器(hardware processor)來實(shí)現(xiàn)相關(guān)功能模塊。
[0036]圖1為本發(fā)明防盜鏈方法實(shí)施例的流程示意圖。如圖1所示,本發(fā)明防盜鏈方法包括:
[0037]步驟101:接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID;
[0038]步驟102:根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;
[0039]步驟103:基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;
[0040]步驟104:比較所述用戶簽名與所述校驗(yàn)簽名,當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求。
[0041 ]如圖2所示,另一實(shí)施例的防盜鏈方法,包括:
[0042]步驟201:接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID和請(qǐng)求時(shí)間戳;
[0043]步驟202:根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;
[0044]步驟203:基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;
[0045]步驟204:比較所述用戶簽名與所述校驗(yàn)簽名;
[0046]步驟205:當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求。
[0047]步驟206:當(dāng)所述簽名與所述校驗(yàn)簽名匹配時(shí),進(jìn)一步判斷所述請(qǐng)求時(shí)間戳是否位于預(yù)定有效時(shí)長(zhǎng)內(nèi),當(dāng)所述時(shí)間戳超過所述預(yù)定有效時(shí)長(zhǎng)時(shí),拒絕用戶的播放請(qǐng)求。
[0048]上述簽名驗(yàn)證通過時(shí),可以認(rèn)為請(qǐng)求時(shí)間戳信息是可信的,進(jìn)而才能對(duì)請(qǐng)求時(shí)間戳進(jìn)行驗(yàn)證。
[0049]服務(wù)器根據(jù)請(qǐng)求時(shí)間戳是否位于預(yù)定有效時(shí)長(zhǎng)內(nèi),對(duì)用戶的使用權(quán)限進(jìn)行校驗(yàn),校驗(yàn)通過時(shí),才會(huì)向用戶發(fā)送流媒體數(shù)據(jù)。
[0050]服務(wù)器根據(jù)請(qǐng)求時(shí)間戳是否位于預(yù)定有效時(shí)長(zhǎng)內(nèi),通過判斷所述請(qǐng)求時(shí)間戳超過所述預(yù)定有效時(shí)長(zhǎng)來實(shí)時(shí)的授權(quán)用戶使用資源的時(shí)間,從而更好地保證了資源的安全使用,更利于對(duì)資源的使用控制和管理。
[0051 ]上述步驟“基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名”包括:
[0052]基于所述其他參數(shù),對(duì)照參數(shù)/鍵/值表,確定與所述其他參數(shù)對(duì)應(yīng)的鍵/值數(shù)列,將所述鍵/值數(shù)列按照預(yù)定順序排序并拼接形成第一字符串;
[0053]在所述字符串后拼接所述密鑰生成第二字符串;
[0054]計(jì)算所述第二字符串的md5值;
[0055]將所述md5值轉(zhuǎn)換為16進(jìn)制字符串,生成校驗(yàn)簽名。
[0056]為了使服務(wù)器端與客戶端匹配,從而進(jìn)行服務(wù)器端與客戶端之間的數(shù)據(jù)溝通,上述預(yù)定順序?yàn)獒槍?duì)鍵的升序。
[0057]上述第一字符串是由gpc(getplayer config獲取視頻播放配置信息)系統(tǒng)將用戶的播放請(qǐng)求中的其他參數(shù)按照key的升序順序排列后,將key值和value值順序連接組成。字符串拼裝完畢后存放在gpc系統(tǒng)中。
[0058]上述實(shí)施例中所述其他參數(shù)例如還包括調(diào)用API接口名稱、接口版本。根據(jù)不同播放請(qǐng)求中的其他參數(shù)的不同,例如訪問用戶ID、時(shí)間戳、API接口名稱、接口版本的不同,能夠做到每個(gè)用戶均擁有獨(dú)立的字符串信息,該字符串不易被模仿,如果盜鏈者任意串改所述字符串后,就無法通過驗(yàn)證,相應(yīng)的就會(huì)拒絕訪問服務(wù)。
[0059]當(dāng)然在實(shí)際的應(yīng)用當(dāng)中,上述其他參數(shù)為訪問用戶ID、時(shí)間戳、API接口名稱、接口版本但并不限制于訪問用戶ID、時(shí)間戳、API接口名稱、接口版本,所述播放請(qǐng)求中的其他參數(shù)根據(jù)用戶點(diǎn)播或直播的具體情況而定,例如,其他參數(shù)還可以為用戶直播或點(diǎn)播的活動(dòng)名稱,直播或點(diǎn)播的開始時(shí)間、結(jié)束時(shí)間、直播或點(diǎn)播流的碼率類型(例如流暢、標(biāo)清、高清、超清、原畫)、播放模式(實(shí)時(shí)直播、延時(shí)直播)以及用戶所觀看的活動(dòng)類型(發(fā)布會(huì)、婚禮、年會(huì)、體育、財(cái)經(jīng)、游戲、訪談)等。
[0060]上述與播放請(qǐng)求中其他參數(shù)所對(duì)應(yīng)的參數(shù)/鍵/值表是根據(jù)歷史用戶的直播或點(diǎn)播的請(qǐng)求情況預(yù)先設(shè)定,并且該表格存儲(chǔ)在數(shù)據(jù)庫(kù)中,待使用時(shí)將其調(diào)出來與用戶的播放請(qǐng)求參數(shù)對(duì)比,確定與參數(shù)對(duì)應(yīng)的鍵以及鍵所對(duì)應(yīng)的值。與此同時(shí),該已知的參數(shù)/鍵/值表還可以定時(shí)或根據(jù)需要進(jìn)行更新,提高表格的精確度。例如,最新出了一部電視劇或者電影,這時(shí)就要適應(yīng)性的在所述參數(shù)/鍵/值表將這部電視劇或者電影的名稱以及相關(guān)的一些參數(shù)添加到所述參數(shù)/鍵/值表中,以保證下面的操作不會(huì)出現(xiàn)錯(cuò)誤。
[0061]實(shí)際生活中,人們的生活壓力很大,特別是北京、上海、廣州、深圳的上班族,生活節(jié)奏越來越快,工作日益增多,生活以及工作的壓力也愈來愈大,為了緩解壓力,人們通常會(huì)利用星期六星期天的空閑時(shí)間從視頻網(wǎng)站(例如優(yōu)酷、樂視、PPTV、暴風(fēng)影音等)中搜一些評(píng)分很高的電影觀看來娛樂自己,放松心情,但點(diǎn)開之后往往會(huì)發(fā)現(xiàn)這些評(píng)分很高的電影通常為會(huì)員影片,需要付費(fèi)才能觀看,為了滿足自己看電影的意愿又不用付費(fèi),人們會(huì)充分利用互聯(lián)網(wǎng)的資源,瀏覽各種網(wǎng)站,以期待能夠觀看這些電影,這時(shí)非法的商家為了從中牟利就會(huì)盜取視頻網(wǎng)站的觀看地址提供給用戶,從而造成視頻網(wǎng)站的資源被盜取以及被盜網(wǎng)站的帶寬消耗嚴(yán)重,網(wǎng)速下降,為了有效地打擊非法商家,維護(hù)視頻網(wǎng)站的利益,這時(shí)可以通過接收用戶ID、API接口名稱、接口版本、請(qǐng)求時(shí)間戳、用戶觀看影片名稱、點(diǎn)播影片時(shí)長(zhǎng)以及影片所屬類型(例如恐怖片、喜劇片、愛情片、武打片)等,并根據(jù)用戶的ID確定出與所述用戶ID對(duì)應(yīng)的密鑰,然后根據(jù)上述參數(shù)和密鑰生成校驗(yàn)簽名,若所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),則拒絕用戶的播放請(qǐng)求的方式來達(dá)到防止盜鏈的效果,維護(hù)視頻網(wǎng)站的利益。
[0062]上述實(shí)施例中防盜鏈方法的進(jìn)一步改進(jìn)在于,當(dāng)簽名驗(yàn)證通過時(shí),可以知道請(qǐng)求時(shí)間戳信息為真實(shí)可信的,為了達(dá)到更有效地防盜鏈,進(jìn)一步要進(jìn)行判斷所述請(qǐng)求時(shí)間戳是否位于預(yù)定有效時(shí)長(zhǎng)內(nèi),當(dāng)所述時(shí)間戳超過所述預(yù)定有效時(shí)長(zhǎng)時(shí),拒絕用戶的播放請(qǐng)求。從而進(jìn)行實(shí)時(shí)的授權(quán)用戶使用資源的時(shí)間,從而更好地保證了資源的安全使用,更利于對(duì)資源的使用控制和管理。
[0063]本發(fā)明不會(huì)影響訪問者所請(qǐng)求的鏈接,也不影響網(wǎng)站業(yè)務(wù)邏輯,保證了方便、便捷的使用效果;通過對(duì)訪問請(qǐng)求中的簽名驗(yàn)證、字符串驗(yàn)證以及時(shí)間戳信息驗(yàn)證多重防盜,大幅度地減小了其被盜鏈的可能,從原理上解決了多個(gè)訪問者使用同一代理對(duì)網(wǎng)站進(jìn)行訪問,訪問者IP相同而導(dǎo)致無法區(qū)分的問題。本發(fā)明的可行性高,大多數(shù)網(wǎng)站可以通過過濾器等簡(jiǎn)單技術(shù)實(shí)現(xiàn),不會(huì)對(duì)網(wǎng)站原有業(yè)務(wù)造成影響。
[0064]本發(fā)明實(shí)施例提供的防盜鏈方法,通過對(duì)接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID;根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求的方式進(jìn)行防盜減少了被盜鏈的可能,使得防盜更加地徹底,同時(shí)也減輕了防盜過程中的工作量。
[0065]圖3為本發(fā)明防盜鏈系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明防盜鏈系統(tǒng)包括:
[0066]接收模塊,用于接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID;
[0067]密鑰確定模塊,用于根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;
[0068]校驗(yàn)簽名生成模塊,用于基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;
[0069]簽名比較模塊,用于比較所述用戶簽名與所述校驗(yàn)簽名;
[0070]播放請(qǐng)求處理模塊,用于當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求。
[0071]本發(fā)明的另一實(shí)施例的防盜鏈系統(tǒng)包括:
[0072]接收模塊,用于接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID和請(qǐng)求時(shí)間戳;
[0073]密鑰確定模塊,用于根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰;
[0074]校驗(yàn)簽名生成模塊,用于基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名;
[0075]簽名比較模塊,用于比較所述簽名與所述校驗(yàn)簽名;
[0076]時(shí)效判斷模塊,用于當(dāng)所述簽名與所述校驗(yàn)簽名匹配時(shí),進(jìn)一步判斷所述請(qǐng)求時(shí)間戳是否位于預(yù)定有效時(shí)長(zhǎng)內(nèi);
[0077]播放請(qǐng)求處理模塊,用于當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求,當(dāng)所述時(shí)間戳超過所述預(yù)定有效時(shí)長(zhǎng)時(shí),拒絕用戶的播放請(qǐng)求。
[0078]上述校驗(yàn)生成模塊包括:
[0079]第一字符串生成單元,用于基于所述其他參數(shù),對(duì)照參數(shù)/鍵/值表,確定與所述其他參數(shù)對(duì)應(yīng)的鍵/值數(shù)列,將所述鍵/值數(shù)列按照預(yù)定順序排序并拼接形成第一字符串;
[0080]第二字符串生成單元,用于在所述字符串后拼接所述密鑰生成第二字符串;
[0081]md5計(jì)算單元,用于計(jì)算所述第二字符串的md5值;
[0082]校驗(yàn)簽名生成單元,用于將所述md5值轉(zhuǎn)換為16進(jìn)制字符串,生成校驗(yàn)簽名。
[0083]上述第一字符串生成單元中,所述預(yù)定順序?yàn)獒槍?duì)鍵的升序。
[0084]上述接收模塊中的所述其他參數(shù)例如還包括調(diào)用API接口名稱、接口版本。
[0085]本發(fā)明實(shí)施例提供的防盜鏈系統(tǒng),通過接收模塊、密鑰生成模塊、校驗(yàn)簽名生成模塊、簽名比較模塊以及播放請(qǐng)求處理模塊進(jìn)行在用戶視頻直播或點(diǎn)播過程中的防盜鏈,減少了被盜鏈的可能,使得防盜更加地徹底,同時(shí)也減輕了防盜過程中的工作量。
[0086]以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0087]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0088]最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種防盜鏈方法,其特征在于,包括: 接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID; 根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰; 基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名; 比較所述用戶簽名與所述校驗(yàn)簽名,當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述其他參數(shù)包括請(qǐng)求時(shí)間戳, 當(dāng)所述簽名與所述校驗(yàn)簽名匹配時(shí),進(jìn)一步判斷所述請(qǐng)求時(shí)間戳是否位于預(yù)定有效時(shí)長(zhǎng)內(nèi), 當(dāng)所述時(shí)間戳超過所述預(yù)定有效時(shí)長(zhǎng)時(shí),拒絕用戶的播放請(qǐng)求。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名包括: 基于所述其他參數(shù),對(duì)照參數(shù)/鍵/值表,確定與所述其他參數(shù)對(duì)應(yīng)的鍵/值數(shù)列,將所述鍵/值數(shù)列按照預(yù)定順序排序并拼接形成第一字符串; 在所述字符串后拼接所述密鑰生成第二字符串; 計(jì)算所述第二字符串的md5值; 將所述md5值轉(zhuǎn)換為16進(jìn)制字符串,生成校驗(yàn)簽名。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述預(yù)定順序?yàn)獒槍?duì)鍵的升序。5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的方法,其特征在于,所述其他參數(shù)還包括調(diào)用API接口名稱、接口版本。6.一種防盜鏈系統(tǒng),包括: 接收模塊,用于接收用戶的播放請(qǐng)求,獲取播放請(qǐng)求參數(shù),所述播放請(qǐng)求參數(shù)包括用戶簽名和其他參數(shù),所述其他參數(shù)至少包括用戶ID; 密鑰確定模塊,用于根據(jù)所述用戶的播放請(qǐng)求中的用戶ID,確定與所述用戶ID對(duì)應(yīng)的密鑰; 校驗(yàn)簽名生成模塊,用于基于所述其他參數(shù)和所述密鑰生成校驗(yàn)簽名; 簽名比較模塊,用于比較所述用戶簽名與所述校驗(yàn)簽名; 播放請(qǐng)求處理模塊,用于當(dāng)所述用戶簽名與所述校驗(yàn)簽名不匹配時(shí),拒絕用戶的播放請(qǐng)求。7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述其他參數(shù)包括請(qǐng)求時(shí)間戳,所述系統(tǒng)還包括時(shí)效判斷模塊,用于當(dāng)所述簽名比較模塊確定所述簽名與所述校驗(yàn)簽名匹配時(shí),進(jìn)一步判斷所述請(qǐng)求時(shí)間戳是否位于預(yù)定有效時(shí)長(zhǎng)內(nèi); 所述播放請(qǐng)求處理模塊,用于當(dāng)所述簽名與所述校驗(yàn)簽名匹配但所述請(qǐng)求時(shí)間戳超過所述預(yù)定有效時(shí)長(zhǎng)時(shí),拒絕用戶的播放請(qǐng)求。8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述校驗(yàn)簽名生成模塊包括: 第一字符串生成單元,用于基于所述其他參數(shù),對(duì)照參數(shù)/鍵/值表,確定與所述其他參數(shù)對(duì)應(yīng)的鍵/值數(shù)列,將所述鍵/值數(shù)列按照預(yù)定順序排序并拼接形成第一字符串; 第二字符串生成單元,用于在所述字符串后拼接所述密鑰生成第二字符串; md5計(jì)算單元,用于計(jì)算所述第二字符串的md5值; 校驗(yàn)簽名生成單元,用于將所述md5值轉(zhuǎn)換為16進(jìn)制字符串,生成校驗(yàn)簽名。9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述預(yù)定順序?yàn)獒槍?duì)鍵的升序。10.根據(jù)權(quán)利要求6-9所述的系統(tǒng),其特征在于,所述其他參數(shù)還包括調(diào)用API接口名稱、接口版本。
【文檔編號(hào)】H04N21/2347GK105915494SQ201510890714
【公開日】2016年8月31日
【申請(qǐng)日】2015年12月7日
【發(fā)明人】金宗銳, 王棟浩, 劉鈞石
【申請(qǐng)人】樂視云計(jì)算有限公司