本申請涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)傳輸方法及裝置、終端設(shè)備、存儲介質(zhì)。
背景技術(shù):
終端原生頁面與web頁面之間的數(shù)據(jù)傳輸安全技術(shù)對于ios和android等主流終端平臺的數(shù)據(jù)傳輸安全性至關(guān)重要。目前,主要通過在web頁面的url末尾直接拼接原生頁面需要傳遞給web頁面的所有參數(shù),來實現(xiàn)終端原生頁面與web頁面之間的數(shù)據(jù)傳輸。
由于通過該方法傳遞的參數(shù)在網(wǎng)絡(luò)傳輸過程中會存在被第三方劫持,并惡意修改關(guān)鍵參數(shù)信息的危險,其主要表現(xiàn)在以下幾個方面:
1.數(shù)據(jù)傳輸?shù)牟话踩?,容易被別有用心的第三方劫持到關(guān)鍵參數(shù)信息并惡意修改,其后果是非常嚴重的。
2.盡管大多數(shù)開發(fā)人員會對參數(shù)采用先加密,后傳輸?shù)姆绞???墒?,被第三方劫持到關(guān)鍵參數(shù)信息依舊是不可避免的,而且也不能完全排除對方擁有更高級的解密手段。
技術(shù)實現(xiàn)要素:
為了克服上述方法存在的問題,本申請?zhí)峁┝艘环N數(shù)據(jù)傳輸方法及裝置、終端設(shè)備、存儲介質(zhì),該技術(shù)方案通過解析web頁面源碼并嵌入需要傳遞的參數(shù),來確保在數(shù)據(jù)傳輸過程中不會被第三方劫持并惡意修改關(guān)鍵參數(shù)信息的情況出現(xiàn),大大提高了終端原生頁面與web頁面之間的數(shù)據(jù)傳輸?shù)陌踩浴?/p>
一方面,本申請實施例提供一種數(shù)據(jù)傳輸方法,包括:
終端獲取web頁面源碼;
所述終端將web頁面源碼轉(zhuǎn)換為第一字符串;
所述終端將所需要傳遞的參數(shù)轉(zhuǎn)換為第二字符串;
所述終端將所述第二字符串嵌入所述第一字符串中;
所述終端將所述嵌有第二字符串的第一字符串加載為web頁面。
可選地,所述方法還包括:所述終端解析加載后的所述web頁面,獲取所述參數(shù)。
可選地,所述方法還包括:
所述終端將所述web頁面源碼轉(zhuǎn)換為二進制文件的格式;
所述終端下載所述web頁面二進制源碼文件;
所述終端采用utf8編碼格式將所述web頁面二進制源碼文件內(nèi)容進行反序列化,得到轉(zhuǎn)換后的第一字符串。
可選地,所述方法還包括:所述終端將所述第二字符串嵌入到第一字符串的第一字段中,生成第二字段,所述第一字段為兩個相鄰的腳本代碼;所述終端在所述第一字符串中查找第一標(biāo)簽的位置,所述第一標(biāo)簽為頭文件標(biāo)識;所述終端將所述第二字段嵌入到所述第一字符串的所述第一標(biāo)簽之后。
另一方面,本申請實施例還提供一種數(shù)據(jù)傳輸裝置,包括:獲取模塊,用于獲取web頁面源碼;第一轉(zhuǎn)換模塊,用于將web頁面源碼轉(zhuǎn)換為第一字符串;第二轉(zhuǎn)換模塊,用于將需要傳輸?shù)膮?shù)轉(zhuǎn)換為第二字符串;嵌入模塊,用于將所述第二字符串嵌入所述第一字符串中;加載模塊,用于將所述嵌有第二字符串的第一字符串加載為web頁面。
可選地,所述裝置還包括:所述加載模塊用于解析加載后的所述web頁面,獲取所述參數(shù)。
可選地,所述裝置還包括:所述第一轉(zhuǎn)換模塊將所述web頁面源碼轉(zhuǎn)換為二進制文件的格式;所述第一轉(zhuǎn)換模塊用于下載所述web頁面二進制源碼文件;所述第一轉(zhuǎn)換模塊采用utf8編碼格式將所述web二進制源碼文件內(nèi)容進行反序列化,得到轉(zhuǎn)換后的第一字符串。
可選地,所述裝置還包括:所述嵌入模塊用于將所述第二字符串嵌入到第一字符串的第一字段中,生成第二字段,所述第一字段為兩個相鄰的腳本代碼;所述嵌入模塊用于在所述第一字符串中查找第一標(biāo)簽的位置,所述第一標(biāo)簽為頭文件標(biāo)識;所述嵌入模塊用于將所述第二字段嵌入到所述第一字符串的所述第一標(biāo)簽之后。
另一方面,本申請實施例還提供了一種終端設(shè)備,包括:處理器、以及存儲有計算機指令的存儲器;所述處理器讀取所述計算機指令,并執(zhí)行如上所述的數(shù)據(jù)傳輸方法。
另一方面,本申請實施例還提供了一種存儲介質(zhì),存儲有計算機指令,所述計算機指令被執(zhí)行時實現(xiàn)如上所述的數(shù)據(jù)傳輸方法。
本申請實施例提供的數(shù)據(jù)處理方法及數(shù)據(jù)處理裝置,通過解析web頁面源碼并嵌入需要傳遞的參數(shù),來確保在數(shù)據(jù)傳輸過程中不會被第三方劫持并惡意修改關(guān)鍵參數(shù)信息的情況出現(xiàn),大大提高了終端原生頁面與web頁面之間的數(shù)據(jù)傳輸?shù)陌踩?/p>
附圖說明
圖1為本申請一實施例提供的一種數(shù)據(jù)傳輸方法的流程圖;
圖2為本申請一實施例提供的將web頁面源碼轉(zhuǎn)換為第一字符串的流程圖;
圖3為本申請一實施例提供的將第二字符串嵌入所述第一字符串的流程圖;
圖4為本申請一實施例提供的終端中的原生頁面與web頁面之間的交互圖;
圖5為本申請一實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。
具體實施方式
申請人通過研究發(fā)現(xiàn),將web頁面源碼解析并嵌入需要傳遞的參數(shù)的方式,能夠確保在原生頁面與web頁面之間進行數(shù)據(jù)傳輸?shù)倪^程中不會被第三方劫持并惡意修改關(guān)鍵參數(shù)信息。下面結(jié)合附圖對本申請的具體實施方式進行描述。
參見圖1,本申請一實施例提供一種數(shù)據(jù)處理方法,包括:步驟101至105。
步驟101:終端獲取web頁面源碼。
步驟102:所述終端將web頁面源碼轉(zhuǎn)換為第一字符串。
圖2為本申請的一個實施例提供的所述終端將web頁面源碼轉(zhuǎn)換為第一字符串的流程圖,包括:步驟1021至步驟1024。
步驟1021:所述終端將所述web頁面的源碼轉(zhuǎn)換為二進制文件的格式。
步驟1022:下載web頁面二進制源碼文件。
步驟1023:將web二進制源碼文件內(nèi)容采用utf8編碼格式進行反序列化。
步驟1024:獲取string類型的第一字符串。
步驟103:所述終端將所需要傳輸?shù)膮?shù)轉(zhuǎn)換為第二字符串。
在本申請的一個實施例中,為了能夠使所述參數(shù)正確的嵌入到web頁面二進制源碼中,將所需要傳遞的參數(shù)轉(zhuǎn)為string類型的第二字符串。
步驟104:所述終端將所述第二字符串嵌入所述第一字符串中。
為了防止第二字符串嵌入到第一字符串的過程中會出現(xiàn)不兼容的情況,在本申請的一個是實施例中,圖3為所述終端將所述第二字符串嵌入所述第一字符串中的流程圖,包括:步驟1041至步驟1043。
步驟1041:第二字符串加入到第一字符串的第一字段中。
本申請一實施例中,所述第一字段可以為“<script><script>”,將第二字符串加入到所述第一字段的兩個<script>之間,得到第二字段“<script>第二字符串<script>”。
步驟1042:在第一字符串中查找第一標(biāo)簽的位置。
本申請一實施例中,所述第一標(biāo)簽為“</head>”。
步驟1043:將第二字段嵌入到所述第一字符串的所述第一標(biāo)簽后。
如本申請一實施例中,可以將第二字段“<script>第二字符串</script>”嵌入到“</head>”標(biāo)簽之后。
步驟105:所述終端將所述嵌有第二字符串的第一字符串加載為web頁面。
本申請實施例提供的數(shù)據(jù)處理方法,通過解析web頁面源碼并將需要傳遞的參數(shù)嵌入其中,避免了該參數(shù)被第三方劫持或者惡意修改關(guān)鍵參數(shù)信息的情況出現(xiàn),大大提高了終端原生頁面與web頁面之間的數(shù)據(jù)傳輸安全。
圖4是本申請一實施例終端中的原生頁面與web頁面之間的交互圖,在該實施例中,原生頁面被加載以后,運行以下步驟包括:步驟401至步驟406。
步驟401:下載web頁面的二進制源碼。
步驟402:將web二進制源碼文件內(nèi)容采用utf8編碼格式進行反序列化處理,獲得string類型的第一字符串。
步驟403:將需要傳遞的參數(shù)轉(zhuǎn)化為string類型的第二字符串。
步驟404:在第一字符串中找到第一字段,把第二字符串嵌入第一字段,形成第二字段。本過程具體可以參見圖3,此處不再贅述。
步驟405:在web頁面的二進制源碼中查找</head>標(biāo)簽的位置。
步驟406:將第二字段插入</head>標(biāo)簽之后。
本申請實施例中,所述第二字段即為包含參數(shù)的<script>標(biāo)簽。
通過加載web頁面,生成web頁面后,執(zhí)行步驟407:識別<script>標(biāo)簽,獲取所傳遞的參數(shù)。
本申請實施例提供的數(shù)據(jù)處理方法,通過解析web頁面源碼并將需要傳遞的參數(shù)嵌入<script>標(biāo)簽?zāi)_本文件中,避免了該參數(shù)被第三方劫持或者惡意修改關(guān)鍵參數(shù)信息的情況出現(xiàn),大大提高了終端原生頁面與web頁面之間的數(shù)據(jù)傳輸?shù)陌踩?/p>
為確保在終端原生頁面與web頁面之間的數(shù)據(jù)傳輸安全,圖5為本申請實施例提供的數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。由于裝置實施例基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。
參見圖5,本申請?zhí)峁┝艘环N數(shù)據(jù)處理裝置,包括:
獲取模塊501,用于獲取web頁面源碼;
第一轉(zhuǎn)換模塊502,用于將web頁面源碼轉(zhuǎn)換為第一字符串;
第二轉(zhuǎn)換模塊503,用于將需要傳輸?shù)膮?shù)轉(zhuǎn)換為第二字符串;
嵌入模塊504,用于將所述第二字符串嵌入所述第一字符串中;
加載模塊505,用于將所述嵌有第二字符串的第一字符串加載為web頁面。
為保證web頁面源碼的獲取,在本申請的一個實施例中,所述加載模塊505用于解析加載后的所述web頁面,獲取所需傳輸?shù)膮?shù)。
為將所述參數(shù)嵌入到所述web頁面源碼中,在本申請的一個實施例中,所述第一轉(zhuǎn)換模塊用于下載所述web頁面二進制源碼文件,然后采用utf8編碼格式將所述web二進制源碼文件進行反序列化,得到轉(zhuǎn)換后的第一字符串。
為使在web頁面能夠加載出嵌入所述參數(shù)后的效果,在本申請的一個實施例中,所述終端將所述第二字符串嵌入到第一字符串的第一字段中,生成第二字段,所述第一字段為兩個相鄰的腳本代碼;所述終端在所述第一字符串中查找第一標(biāo)簽的位置,所述第一標(biāo)簽為頭文件標(biāo)識;所述終端將所述第二字段嵌入到所述第一字符串的所述第一標(biāo)簽之后。
本申請實施例提供的數(shù)據(jù)處理裝置,通過解析web頁面源碼并將需要傳遞的參數(shù)嵌入其中,避免了該參數(shù)被第三方劫持或者惡意修改關(guān)鍵參數(shù)信息的情況出現(xiàn),大大提高了終端原生頁面與web頁面之間的數(shù)據(jù)傳輸安全。
本申請還提供了一種終端設(shè)備,包括:處理器、以及存儲有計算機指令的存儲器;所述處理器讀取所述計算機指令,并執(zhí)行如上所述的數(shù)據(jù)傳輸方法。
本申請還提供了一種存儲介質(zhì),存儲有計算機指令,所述計算機指令被執(zhí)行時實現(xiàn)如上所述的數(shù)據(jù)傳輸方法。
需要說明的是,所述數(shù)據(jù)傳輸裝置如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本申請實現(xiàn)上述實施例方法中的全部或部分流程,也可以通過計算機程序來指令相關(guān)的硬件來完成,所述的計算機程序可存儲于一計算機可讀存儲介質(zhì)中,該計算機程序在被計算機執(zhí)行時,可實現(xiàn)上述各個方法實施例的步驟。其中,所述計算機程序包括計算機程序代碼,所述計算機程序代碼可以為源代碼形式、對象代碼形式、可執(zhí)行文件或某些中間形式等。所述計算機可讀介質(zhì)可以包括:能夠攜帶所述計算機程序代碼的任何實體或裝置、記錄介質(zhì)、u盤、移動硬盤、磁碟、光盤、計算機存儲器、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、電載波信號、電信信號以及軟件分發(fā)介質(zhì)等。需要說明的是,所述計算機可讀介質(zhì)包含的內(nèi)容可以根據(jù)司法管轄區(qū)內(nèi)立法和專利實踐的要求進行適當(dāng)?shù)脑鰷p,例如在某些司法管轄區(qū),根據(jù)立法和專利實踐,計算機可讀介質(zhì)不包括電載波信號和電信信號。
需要說明的是,對于前述的各方法實施例,為了簡便描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其它順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定都是本申請所必須的。
在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其它實施例的相關(guān)描述。
以上公開的本申請優(yōu)選實施例只是用于幫助闡述本申請??蛇x實施例并沒有詳盡敘述所有的細節(jié),也不限制該申請僅為所述的具體實施方式。顯然,根據(jù)本說明書的內(nèi)容,可作很多的修改和變化。本說明書選取并具體描述這些實施例,是為了更好地解釋本申請的原理和實際應(yīng)用,從而使所屬技術(shù)領(lǐng)域技術(shù)人員能很好地理解和利用本申請。本申請僅受權(quán)利要求書及其全部范圍和等效物的限制。
上面結(jié)合附圖對本申請優(yōu)選的具體實施方式和實施例作了詳細說明,但是申請并不限于上述實施方式和實施例,在本領(lǐng)域技術(shù)人員所具備的知識范圍內(nèi),還可以在不脫離本申請構(gòu)思的前提下做出各種變化。