一種文件下載方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種文件下載方法及系統(tǒng),該方法包括:通過HTTPS返回用戶文件下載頁(yè)面,文件下載頁(yè)面包含文件的臨時(shí)下載地址、下載代理和令牌TOKEN,下載代理用于截獲由用戶發(fā)起的臨時(shí)下載地址請(qǐng)求,并基于TOKEN對(duì)臨時(shí)下載地址中的時(shí)間戳和URL參數(shù)進(jìn)行加密,獲得校驗(yàn)值并添加到URL請(qǐng)求中,構(gòu)造文件的實(shí)際下載地址;通過URL請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳獲取TOKEN和比對(duì)時(shí)間戳,基于TOKEN加密生成校驗(yàn)值,和請(qǐng)求URL中的校驗(yàn)值比對(duì),最終生成比對(duì)結(jié)果;根據(jù)比對(duì)結(jié)果提供具體的文件下載服務(wù)。該系統(tǒng)包括:下載代理生成模塊、下載校驗(yàn)服務(wù)模塊和下載數(shù)據(jù)服務(wù)模塊。本發(fā)明即可防止文件下載地址被泄露,又保證了合法用戶的下載。
【專利說明】一種文件下載方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)傳輸領(lǐng)域,尤其涉及一種文件下載方法及系統(tǒng) 【背景技術(shù)】
[0002]隨著應(yīng)用商城模式的發(fā)展,越來越多的應(yīng)用商城開始出現(xiàn)。針對(duì)應(yīng)用商城中的付 費(fèi)應(yīng)用的保護(hù)就成為了一個(gè)重要的研究?jī)?nèi)容。
[0003]目前,針對(duì)付費(fèi)應(yīng)用文件的下載,設(shè)計(jì)方法主要是通過在用戶支付完成后,服務(wù)器 端生成下載地址,引導(dǎo)客戶端重新定向拿到下載地址進(jìn)行下載。此種方式把下載地址直接 呈現(xiàn)給用戶,容易被第三方截獲,損害開發(fā)者的利益。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種可以防止文件下載地址被第三方截獲的方法,以保護(hù) 開發(fā)者利益。
[0005]為了實(shí)現(xiàn)上述目的,一方面,本發(fā)明提供了一種文件下載方法,該方法包括以下步 驟:
[0006]通過HTTPS向用戶返回文件下載頁(yè)面,所述文件下載頁(yè)面包含文件的臨時(shí)下載地 址、下載代理和令牌TOKEN,所述下載代理用于截獲用戶發(fā)起的臨時(shí)下載地址請(qǐng)求,并基于 TOKEN對(duì)臨時(shí)下載地址中的時(shí)間戳和URL參數(shù)進(jìn)行加密,獲得校驗(yàn)值并添加到URL請(qǐng)求中, 構(gòu)造文件的實(shí)際下載地址;
[0007]通過URL請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳獲取TOKEN和比對(duì)時(shí)間戳,基于TOKEN 加密生成校驗(yàn)值,和請(qǐng)求URL中的校驗(yàn)值比對(duì),最終生成比對(duì)結(jié)果;
[0008]根據(jù)比對(duì)結(jié)果提供具體的文件下載服務(wù),并通過會(huì)話標(biāo)識(shí)控制下載任務(wù)請(qǐng)求。
[0009]另一方面,本發(fā)明提供了一種文件下載系統(tǒng),該系統(tǒng)包括:
[0010]下載代理生成模塊,通過HTTPS向用戶返回文件下載頁(yè)面,所述文件下載頁(yè)面包 含生成的文件臨時(shí)下載地址、下載代理和令牌TOKEN,所述下載代理用于截獲臨時(shí)下載地址 請(qǐng)求,并基于令牌TOKEN對(duì)臨時(shí)下載地址中的時(shí)間戳和URL參數(shù)進(jìn)行加密,獲得校驗(yàn)值并添 加到URL請(qǐng)求中,構(gòu)造文件的實(shí)際下載地址;
[0011]下載校驗(yàn)服務(wù)模塊,通過URL請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳獲取TOKEN和比對(duì) 時(shí)間戳,基于TOKEN加密生成校驗(yàn)值,和請(qǐng)求URL中的校驗(yàn)值比對(duì),最終生成比對(duì)結(jié)果;
[0012]下載數(shù)據(jù)服務(wù)模塊,用于根據(jù)所述下載校驗(yàn)服務(wù)模塊比對(duì)結(jié)果提供具體的文件下 載服務(wù),并通過會(huì)話標(biāo)識(shí)控制下載任務(wù)請(qǐng)求。
[0013]本發(fā)明的優(yōu)點(diǎn)在于:通過HTTPS方式傳遞TOKEN和下載代理程序,防止文件下載地 址被截獲,同時(shí),通過會(huì)話標(biāo)識(shí)控制下載任務(wù)請(qǐng)求,保證了合法用戶的下載。
【專利附圖】
【附圖說明】
[0014]圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用商城的付費(fèi)應(yīng)用下載系統(tǒng)結(jié)構(gòu)框圖;[0015]圖2為本發(fā)明實(shí)施例提供的一種應(yīng)用商城的付費(fèi)應(yīng)用下載方法流程圖。
【具體實(shí)施方式】
[0016]下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
[0017]圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用商城的付費(fèi)應(yīng)用下載系統(tǒng)結(jié)構(gòu)框圖。如圖1 所示,該系統(tǒng)包括應(yīng)用商城門戶10、支付模塊20、下載代理生成模塊31、下載校驗(yàn)服務(wù)模塊 32和下載數(shù)據(jù)服務(wù)模塊33。
[0018]應(yīng)用商城門戶10提供用戶進(jìn)行應(yīng)用信息的瀏覽和詳情的查看,是應(yīng)用下載的入□。
[0019]支付模塊20用于完成用戶對(duì)付費(fèi)應(yīng)用的支付。
[0020]下載代理生成模塊31用于通過HTTPS向用戶返回文件下載頁(yè)面,文件下載頁(yè)面 包含生成的文件臨時(shí)下載地址、下載代理和令牌TOKEN,下載代理用于截獲臨時(shí)下載地址請(qǐng) 求,并基于令牌TOKEN對(duì)臨時(shí)下載地址中的時(shí)間戳和URL參數(shù)進(jìn)行加密,獲得校驗(yàn)值并添加 到URL請(qǐng)求中,構(gòu)造文件的實(shí)際下載地址。
[0021]下載校驗(yàn)服務(wù)模塊32用于通過URL請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳獲取TOKEN 和比對(duì)時(shí)間戳,基于TOKEN加密生成校驗(yàn)值,和請(qǐng)求URL中的校驗(yàn)值比對(duì),最終生成比對(duì)結(jié)果。
[0022]具體地,下載校驗(yàn)服務(wù)模塊32通過下載URL,獲取URL中的請(qǐng)求參數(shù),根據(jù)請(qǐng)求參 數(shù)中的文件標(biāo)識(shí)和時(shí)間戳,獲取對(duì)應(yīng)的TOKEN ;根據(jù)TOKEN,對(duì)URL按照校驗(yàn)值生成規(guī)則生成 校驗(yàn)值,并與URL中的校驗(yàn)值進(jìn)行比對(duì),若不一致,返回下載失敗,否則,進(jìn)入下一步驟;獲 取URL參數(shù)中的時(shí)間戳,判斷時(shí)間是否超過預(yù)定的范圍,若超過預(yù)定的范圍則返回下載失 敗,否則,進(jìn)入下一步驟;根據(jù)下載請(qǐng)求,為每一個(gè)通過驗(yàn)證的下載請(qǐng)求生成一個(gè)會(huì)話標(biāo)識(shí), 標(biāo)識(shí)此任務(wù)已有用戶在下載。
[0023]下載數(shù)據(jù)服務(wù)模塊33用于根據(jù)下載校驗(yàn)服務(wù)模塊32比對(duì)結(jié)果提供具體的文件下 載服務(wù),并通過會(huì)話標(biāo)識(shí)控制下載任務(wù)請(qǐng)求。
[0024]具體地,下載數(shù)據(jù)服務(wù)模塊33根據(jù)下載會(huì)話標(biāo)識(shí),控制一個(gè)TOKEN只能有一個(gè)下 載任務(wù)同時(shí)在執(zhí)行,當(dāng)文件下載完成之后,清除會(huì)話標(biāo)識(shí)和TOKEN。
[0025]圖2為本發(fā)明實(shí)施例提供的一種應(yīng)用商城的付費(fèi)應(yīng)用下載方法流程圖。如圖2所 示,該方法步驟如下:
[0026]步驟1、用戶登錄應(yīng)用商城門戶,選擇付費(fèi)應(yīng)用進(jìn)行下載;
[0027]步驟2、用戶通過HTTPS協(xié)議訪問支付平臺(tái),并進(jìn)行支付;
[0028]步驟3、在支付完成之后,通過下載代理生成模塊生成TOKEN、時(shí)間戳和下載代理, 并把文件標(biāo)識(shí)和時(shí)間戳與TOKEN作一對(duì)一的關(guān)聯(lián)。同時(shí)返回下載頁(yè)面,頁(yè)面中包含下載代 理和TOKEN,頁(yè)面中對(duì)應(yīng)的付費(fèi)應(yīng)用下載地址為臨時(shí)下載地址。臨時(shí)下載地址包括:自定義 的協(xié)議描述和URL參數(shù)。URL參數(shù)包括時(shí)間戳、文件標(biāo)識(shí)和其他相關(guān)參數(shù);
[0029]步驟4、在下載頁(yè)面加載完之后,啟動(dòng)下載代理。下載代理偵聽所有的臨時(shí)下載地 址鏈接請(qǐng)求,并通過TOKEN對(duì)鏈接請(qǐng)求的參數(shù)進(jìn)行加密生成校驗(yàn)值,添加到請(qǐng)求URL后面;
[0030]步驟5、下載校驗(yàn)服務(wù)模塊在接收到URL請(qǐng)求后,解析出URL請(qǐng)求參數(shù)中的文件標(biāo) 識(shí)、時(shí)間戳、校驗(yàn)值和其他參數(shù);[0031]步驟6、下載校驗(yàn)服務(wù)模塊向下載代理生成模塊發(fā)送文件標(biāo)識(shí)和時(shí)間戳,獲取 TOKEN和比對(duì)時(shí)間戳。下載代理生成模塊根據(jù)文件標(biāo)識(shí)和時(shí)間戳與TOKEN的對(duì)應(yīng)關(guān)系,查找 到TOKEN,同時(shí)對(duì)比時(shí)間戳是否在預(yù)設(shè)的時(shí)間范圍之內(nèi),把比對(duì)結(jié)果和TOKEN返回給下載校 驗(yàn)服務(wù)1吳塊;
[0032]步驟7、下載校驗(yàn)服務(wù)模塊獲取時(shí)間戳比對(duì)結(jié)果,若不在時(shí)間范圍之內(nèi),返回下載 請(qǐng)求失敗,否則,用獲得的TOKEN對(duì)URL按照規(guī)則加密生成校驗(yàn)值,和請(qǐng)求URL中的校驗(yàn)值 比對(duì),若不一致,返回下載請(qǐng)求失敗,否則對(duì)下載請(qǐng)求,生成會(huì)話標(biāo)識(shí);
[0033]步驟8、下載數(shù)據(jù)服務(wù)模塊通過會(huì)話標(biāo)識(shí)控制下載任務(wù)請(qǐng)求,保證一個(gè)TOKEN只能 有一個(gè)下載任務(wù)同時(shí)在執(zhí)行。
[0034]本發(fā)明實(shí)施例通過HTTPS方式傳遞TOKEN和下載代理程序,防止下載地址被截獲, 同時(shí),通過會(huì)話標(biāo)識(shí)控制下載任務(wù)請(qǐng)求,保證了合法用戶的下載。
[0035]需要說明的是,本發(fā)明實(shí)施例所述的付費(fèi)應(yīng)用下載方法不僅限于應(yīng)用類文件,同 樣適用于互聯(lián)網(wǎng)其他類型的文件。
[0036]顯而易見,在不偏離本發(fā)明的真實(shí)精神和范圍的前提下,在此描述的本發(fā)明可以 有許多變化。因此,所有對(duì)于本領(lǐng)域技術(shù)人員來說顯而易見的改變,都應(yīng)包括在本權(quán)利要求 書所涵蓋的范圍之內(nèi)。本發(fā)明所要求保護(hù)的范圍僅由所述的權(quán)利要求書進(jìn)行限定。
【權(quán)利要求】
1.一種文件下載方法,其特征在于:通過HTTPS返回用戶文件下載頁(yè)面,所述文件下載頁(yè)面包含文件的臨時(shí)下載地址、下載代理和令牌TOKEN,所述下載代理用于截獲用戶發(fā)起的臨時(shí)下載地址請(qǐng)求,并基于TOKEN 對(duì)臨時(shí)下載地址中的時(shí)間戳和URL參數(shù)進(jìn)行加密,獲得校驗(yàn)值并添加到URL請(qǐng)求中,構(gòu)造文件的實(shí)際下載地址;通過URL請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳獲取TOKEN和比對(duì)時(shí)間戳,基于TOKEN加密生成校驗(yàn)值,和請(qǐng)求URL中的校驗(yàn)值比對(duì),最終生成比對(duì)結(jié)果;根據(jù)比對(duì)結(jié)果提供具體的文件下載服務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在:所述文件的臨時(shí)下載地址包含自定義的協(xié)議字段和相關(guān)的參數(shù),所述參數(shù)內(nèi)容包括:用戶標(biāo)識(shí)、時(shí)間戳和文件標(biāo)識(shí)中的一種或多種。
3.根據(jù)權(quán)利要求1所述的方法,其特征在:所述通過URL請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳獲取TOKEN和比對(duì)時(shí)間戳,基于TOKEN加密生成校驗(yàn)值,和請(qǐng)求URL中的校驗(yàn)值比對(duì), 最終生成比對(duì)結(jié)果步驟包括:通過下載URL,獲取URL中的請(qǐng)求參數(shù),根據(jù)請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳,獲取對(duì)應(yīng)的TOKEN ;根據(jù)TOKEN,對(duì)URL按照校驗(yàn)值生成規(guī)則生成校驗(yàn)值,并與URL中的校驗(yàn)值進(jìn)行比對(duì),若不一致,返回下載失敗,否則,進(jìn)入下一步驟;獲取URL參數(shù)中的時(shí)間戳,判斷時(shí)間是否超過預(yù)定的范圍,若超過預(yù)定的范圍則返回下載失敗,否則,進(jìn)入下一步驟;根據(jù)下載請(qǐng)求,為每一個(gè)通過驗(yàn)證的下載請(qǐng)求生成一個(gè)會(huì)話標(biāo)識(shí),標(biāo)識(shí)此任務(wù)已有用戶在下載。
4.根據(jù)權(quán)利要求3所述的方法,其特征在:所述根據(jù)比對(duì)結(jié)果提供具體的文件下載服務(wù)步驟包括:根據(jù)會(huì)話標(biāo)識(shí),控制一個(gè)TOKEN只能有一個(gè)下載任務(wù)同時(shí)在執(zhí)行,當(dāng)文件下載完成之后,清除會(huì)話標(biāo)識(shí)和TOKEN。
5.一種文件下載系統(tǒng),其特征在于包括:下載代理生成模塊,通過HTTPS返回用戶文件下載頁(yè)面,所述文件下載頁(yè)面包含生成的文件臨時(shí)下載地址、下載代理和令牌TOKEN,所述下載代理用于截獲臨時(shí)下載地址請(qǐng)求, 并基于令牌TOKEN對(duì)臨時(shí)下載地址中的時(shí)間戳和URL參數(shù)進(jìn)行加密,獲得校驗(yàn)值并添加到 URL請(qǐng)求中,構(gòu)造文件的實(shí)際下載地址;下載校驗(yàn)服務(wù)模塊,通過URL請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳獲取TOKEN和比對(duì)時(shí)間戳,基于TOKEN加密生成校驗(yàn)值,和請(qǐng)求URL中的校驗(yàn)值比對(duì),最終生成比對(duì)結(jié)果;下載數(shù)據(jù)服務(wù)模塊,用于根據(jù)所述下載檢驗(yàn)服務(wù)模塊比對(duì)結(jié)果提供具體的文件下載服務(wù)。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在:所述下載校驗(yàn)服務(wù)模塊具體用于:通過下載URL,獲取URL中的請(qǐng)求參數(shù),根據(jù)請(qǐng)求參數(shù)中的文件標(biāo)識(shí)和時(shí)間戳,獲取對(duì)應(yīng)的TOKEN ;根據(jù)TOKEN,對(duì)URL按照校驗(yàn)值生成規(guī)則生成校驗(yàn)值,并與URL中的校驗(yàn)值進(jìn)行比對(duì),若不一致,返回下載失敗,否則,進(jìn)入下一步驟;獲取URL參數(shù)中的時(shí)間戳,判斷時(shí)間是否超過預(yù)定的范圍,若超過預(yù)定的范圍則返回下載失敗,否則,進(jìn)入下一步驟;根據(jù)下載請(qǐng)求,為每一個(gè)通過驗(yàn)證的下載請(qǐng)求生成一個(gè)會(huì)話標(biāo)識(shí),標(biāo)識(shí)此任務(wù)已有用戶在下載。
7.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在:所述下載數(shù)據(jù)服務(wù)模塊具體用于:根據(jù)下載會(huì)話標(biāo)識(shí),控制一個(gè)TO KEN只能有一個(gè)下載任務(wù)同時(shí)在執(zhí)行,當(dāng)文件下載完成之后,清除會(huì)話標(biāo)識(shí)和TOKEN。
【文檔編號(hào)】H04L29/06GK103561040SQ201310574479
【公開日】2014年2月5日 申請(qǐng)日期:2013年11月15日 優(yōu)先權(quán)日:2013年11月15日
【發(fā)明者】黨壽江, 劉學(xué), 董微, 嚴(yán)灝 申請(qǐng)人:中國(guó)科學(xué)院聲學(xué)研究所, 北京中科智網(wǎng)科技有限公司