国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種跨移動終端的混合app開發(fā)方法及裝置制造方法

      文檔序號:6524616閱讀:168來源:國知局
      一種跨移動終端的混合app開發(fā)方法及裝置制造方法
      【專利摘要】本發(fā)明提出了一種跨移動終端的混合APP開發(fā)方法,包括如下步驟:在不同的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱;所述native沙箱能執(zhí)行Web?APP;在所述native沙箱之上開發(fā)APP;把編寫好的APP代碼進(jìn)行加密打包成APP安裝包,并將所述APP安裝包存儲到下載服務(wù)器上;用戶在移動終端上安裝所述native沙箱后,把所述下載服務(wù)器中的APP安裝包下載到所述移動終端上進(jìn)行使用。本發(fā)明還涉及一種實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置。實(shí)施本發(fā)明的跨移動終端的混合APP開發(fā)方法及裝置,具有以下有益效果:速度較快、安全性較好。
      【專利說明】一種跨移動終端的混合APP開發(fā)方法及裝置
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及應(yīng)用開發(fā)領(lǐng)域,特別涉及一種跨移動終端的混合APP開發(fā)方法及裝置。
      【背景技術(shù)】
      [0002]目前主流的智能移動設(shè)備操作系統(tǒng)包括Android、iOS、Windows Phone等等,每個操作系統(tǒng)提供的Native Language (智能終端操作系統(tǒng)提供的開發(fā)語言,例如Android是java, iOS是Object C)都不一樣,如果采用Native開發(fā)的方式,就必須為每個操作系統(tǒng)分別編寫對應(yīng)的APP (Application,應(yīng)用)。如果想開發(fā)跨平臺APP (即在多種智能移動設(shè)備操作系統(tǒng)上都可以運(yùn)行的APP),目前一般采用HTML5來編寫Web APP0 Web APP部署在Web服務(wù)器上,無需安裝到移動設(shè)備上;用戶通過移動設(shè)備上的瀏覽器來訪問Web服務(wù)器,即可使用Web APP0圖1為移動設(shè)備上的瀏覽器與Web服務(wù)器之間交互的示意圖。雖然HTML5被目前很多APP開發(fā)者或者公司采用,其同時也曝露出來它的很多技術(shù)問題,如:Web APP的HTML5頁面和資源文件(例如頁面中用到的圖片等)是部署在Web服務(wù)器端的,用戶每次使用Web APP的時候,頁面和資源文件每次都需要下載到移動設(shè)備上。在移動設(shè)備網(wǎng)絡(luò)信號不是很好的情況下速度會比較差,用戶會感覺到使用起來速度慢。此外,輸出到移動設(shè)備的HTML5頁面的源代碼,是可以被查看到的(很多瀏覽器都提供了查看頁面源代碼的功能)。寫在源代碼中的程序邏輯存在被惡意份子知道的風(fēng)險(xiǎn),所以其安全性較差。

      【發(fā)明內(nèi)容】

      [0003]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述速度較慢、安全性較差的缺陷,提供一種速度較快、安全性較好的跨移動終端的混合APP開發(fā)方法及裝置。
      [0004]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種跨移動終端的混合APP開發(fā)方法,包括如下步驟:
      A)在不同的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱;所述native沙箱能執(zhí)行Web APP ;
      B)在所述native沙箱之上開發(fā)APP;
      C)把編寫好的APP代碼進(jìn)行加密打包成APP安裝包,并將所述APP安裝包存儲到下載服務(wù)器上;
      D)用戶在移動終端上安裝所述native沙箱后,把所述下載服務(wù)器中的APP安裝包下載到所述移動終端上進(jìn)行使用。
      [0005]在本發(fā)明所述的跨移動終端的混合APP開發(fā)方法中,所述步驟D)進(jìn)一步包括: Dl)用戶在移動終端上安裝所述native沙箱后,將對應(yīng)的APP安裝包下載到所述移動
      終端上;
      D2)對所述APP安裝包進(jìn)行解壓并將解壓后得到的APP存放到一個目錄下;
      每個APP的應(yīng)用目下包括應(yīng)用描述文件、應(yīng)用頁面文件、CSS樣式文件和資源文件,所述應(yīng)用頁面文件中存儲應(yīng)用的全部代碼文件,所述代碼文件包括html頁面和js文件。
      [0006]在本發(fā)明所述的跨移動終端的混合APP開發(fā)方法中,所述步驟C)中APP安裝包是由所述代碼文件存儲到所述應(yīng)用頁面文件中,然后將所述應(yīng)用頁面文件和資源文件進(jìn)行壓縮生成的。
      [0007]在本發(fā)明所述的跨移動終端的混合APP開發(fā)方法中,所述移動終端通過云安全服務(wù)器與APP服務(wù)器通訊,在所述步驟D)之后還包括:
      E)native沙盒啟動并請求所述云安全服務(wù)器下載體檢程序;
      F)所述云安全服務(wù)器分配安全憑證并將其嵌入到所述體檢程序中,同時把體檢程序文件返回給所述native沙盒;
      G)所述native沙盒調(diào)用所述體檢程序?qū)ζ溥M(jìn)行體檢;
      H)對所述native沙盒的程序文件的內(nèi)容進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與所述云安全服務(wù)器上保存的MD5結(jié)果是否一致,如是,執(zhí)行步驟I);否則,將所述移動終端上的native沙盒檢查不通過的結(jié)果上報(bào)給所述云安全服務(wù)器;
      I)將所述安全憑證返回給所述native沙盒;
      J)對APP的應(yīng)用頁面文件進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與所述云安全服務(wù)器上保存的MD5結(jié)果是否一致,如是,APP進(jìn)行正常使用;否則,APP不能進(jìn)行使用。
      [0008]在本發(fā)明所述的跨移動終端的混合APP開發(fā)方法中,所述native為每個APP分配單獨(dú)的私有數(shù)據(jù)庫,只有對應(yīng)的APP進(jìn)行訪問,寫入所述私有數(shù)據(jù)庫的數(shù)據(jù)是經(jīng)過DES對稱加密的,所述native還提供用于在不同APP之間交換數(shù)據(jù)的公用數(shù)據(jù)庫區(qū),所述APP在公用數(shù)據(jù)庫區(qū)創(chuàng)建數(shù)據(jù)庫。
      [0009]本發(fā)明還涉及一種實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置,包括: 沙箱開發(fā)單元:用于在不同的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱;
      所述native沙箱能執(zhí)行Web APP ;
      應(yīng)用開發(fā)單元:用于在所述native沙箱之上開發(fā)APP ;
      打包單元:用于把編寫好的APP代碼進(jìn)行加密打包成APP安裝包,并將所述APP安裝包存儲到下載服務(wù)器上;
      下載單元:用于使用戶在移動終端上安裝所述native沙箱后,把所述下載服務(wù)器中的APP安裝包下載到所述移動終端上進(jìn)行使用。
      [0010]在本發(fā)明所述的實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置中,所述下載單元進(jìn)一步包括:
      安裝下載模塊:用于使用戶在移動終端上安裝所述native沙箱后,將對應(yīng)的APP安裝包下載到所述移動終端上;
      解壓模塊:用于對所述APP安裝包進(jìn)行解壓并將解壓后得到的APP存放到一個目錄
      下;
      每個APP的應(yīng)用目下包括應(yīng)用描述文件、應(yīng)用頁面文件、CSS樣式文件和資源文件,所述應(yīng)用頁面文件中存儲應(yīng)用的全部代碼文件,所述代碼文件包括html頁面和js文件。
      [0011]在本發(fā)明所述的實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置中,所述打包單元中APP安裝包是由所述代碼文件存儲到所述應(yīng)用頁面文件中,然后將所述應(yīng)用頁面文件和資源文件進(jìn)行壓縮生成的。[0012]在本發(fā)明所述的實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置中,所述移動終端通過云安全服務(wù)器與APP服務(wù)器通訊,所述裝置還包括:
      沙盒啟動請求單元:用于使native沙盒啟動并請求所述云安全服務(wù)器下載體檢程序;分配單元:用于使所述云安全服務(wù)器分配安全憑證并將其嵌入到所述體檢程序中,同時把體檢程序文件返回給所述native沙盒;
      體檢單元:用于使所述native沙盒調(diào)用所述體檢程序?qū)ζ溥M(jìn)行體檢;
      沙盒文件計(jì)算判斷單元:用于對所述native沙盒的程序文件的內(nèi)容進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與所述云安全服務(wù)器上保存的MD5結(jié)果是否一致,并在不一致時將所述移動終端上的native沙盒檢查不通過的結(jié)果上報(bào)給所述云安全服務(wù)器;
      返回單元:用于將所述安全憑證返回給所述native沙盒;
      頁面文件計(jì)算判斷單元:用于對APP的應(yīng)用頁面文件進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與所述云安全服務(wù)器上保存的MD5結(jié)果是否一致,如是,APP進(jìn)行正常使用;否則,APP不能進(jìn)行使用。
      [0013]在本發(fā)明所述的實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置中,所述native為每個APP分配單獨(dú)的私有數(shù)據(jù)庫,只有對應(yīng)的APP進(jìn)行訪問,寫入所述私有數(shù)據(jù)庫的數(shù)據(jù)是經(jīng)過DES對稱加密的,所述native還提供用于在不同APP之間交換數(shù)據(jù)的公用數(shù)據(jù)庫區(qū),所述APP在公用數(shù)據(jù)庫區(qū)創(chuàng)建數(shù)據(jù)庫。
      [0014]實(shí)施本發(fā)明的跨移動終端的混合APP開發(fā)方法及裝置,具有以下有益效果:由于在不同的操作系統(tǒng)上用native開發(fā)實(shí)現(xiàn)方式統(tǒng)一的native沙箱;在native沙箱之上開發(fā)APP ;然后把編寫好的APP代碼進(jìn)行加密打包成APP安裝包,并將APP安裝包存儲到下載服務(wù)器上;用戶在移動終端上安裝native沙箱后,把下載服務(wù)器中的APP安裝包下載到移動終端上進(jìn)行使用,這樣APP只需要在首次使用的時候下載一次,后續(xù)使用無需再下載對APP程序,所以不需要擔(dān)心移動設(shè)備網(wǎng)絡(luò)信號的好壞,用戶使用起來其速度較快,同時對編寫好的APP代碼采用加密、打包方式,規(guī)避了 html 5頁面源代碼可以被查看的安全風(fēng)險(xiǎn),所以其安全性較好。
      【專利附圖】

      【附圖說明】
      [0015]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0016]圖1為【背景技術(shù)】中移動設(shè)備上的瀏覽器與Web服務(wù)器之間交互的示意圖;
      圖2為本發(fā)明跨移動終端的混合APP開發(fā)方法及裝置一個實(shí)施例中開發(fā)方法的流程
      圖;
      圖3為所述實(shí)施例中native沙箱與下載服務(wù)器之間交互的示意圖;
      圖4為所述實(shí)施例中用戶在移動終端上安裝native沙箱后,把下載服務(wù)器中的APP安裝包下載到移動終端上進(jìn)行使用的具體流程圖;
      圖5為所述實(shí)施例中APP安裝包在移動終端存儲的示意圖;
      圖6為所述實(shí)施例中APP數(shù)據(jù)存儲的示意圖;圖1為所述實(shí)施例中移動終端與APP服務(wù)器之間通訊的示意圖;
      圖8為所述實(shí)施例中對native沙盒和APP進(jìn)行安全檢查的流程圖;
      圖9為所述實(shí)施例中對native沙盒和APP進(jìn)行安全檢查的時序圖;
      圖10為所述實(shí)施例中裝置的結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0017]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0018]在本發(fā)明跨移動終端的混合APP開發(fā)方法及裝置實(shí)施例中,其跨移動終端的混合APP開發(fā)方法的流程圖如圖2所示。圖2中,該開發(fā)方法包括如下步驟:
      步驟SOl在不同的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱:本步驟中,在不同的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱,具體就是采用native沙箱與Web APP混合方式,在需要覆蓋的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱。native 沙箱具備 HTML( Hypertext Markup Language,超文本標(biāo)記語言)/CSS (CrossSite Scripting,跨站腳本攻擊)/JavaScript的處理能力,可以執(zhí)行Web APP。Web APP是指通過使用Web和Web瀏覽器技術(shù),通過網(wǎng)絡(luò)完成一個或多個任務(wù)的應(yīng)用程序,需要使用Web瀏覽器。CSS是一種經(jīng)常出現(xiàn)在Web應(yīng)用中的計(jì)算機(jī)安全漏洞,它允許惡意Web用戶將代碼植入到提供給其它用戶使用的頁面中,這些代碼包括HTML代碼和客戶端腳本。
      [0019]步驟S02在native沙箱之上開發(fā)APP:本步驟中,在native沙箱之上開發(fā)APP,其開發(fā)方式和目前的Web APP基本一致。
      [0020]步驟S03把編寫好的APP代碼進(jìn)行加密打包成APP安裝包,并將APP安裝包存儲到下載服務(wù)器上:本步驟中,開發(fā)者把編寫好的APP代碼進(jìn)行加密,并通過打包工具打包成APP安裝包,并將APP安裝包存儲到下載服務(wù)器上。本實(shí)施例中,APP發(fā)布后,以zip包形式存儲在下載服務(wù)器,也就是APP安裝包為zip包形式。
      [0021]步驟S04用戶在移動終端上安裝native沙箱后,把下載服務(wù)器中的APP安裝包下載到移動終端上進(jìn)行使用:本步驟中,用戶在移動終端上安裝native沙箱之后,把下載服務(wù)器上的APP安裝包(即Web APP安裝包)下載到移動終端上即可使用。這樣APP只需要在首次使用的時候下載一次,后續(xù)使用無需再下載對APP程序,所以不需要擔(dān)心移動設(shè)備網(wǎng)絡(luò)信號的好壞,用戶使用起來其速度較快,同時對編寫好的APP代碼采用加密、打包方式,規(guī)避了 html 5頁面源代碼可以被查看的安全風(fēng)險(xiǎn),所以其APP的安全性較好。同時打包之后也使應(yīng)用程序變得更小,降低了網(wǎng)絡(luò)流量。此外,還能夠讓開發(fā)出來的APP在各種移動終端操作系統(tǒng)上都可以使用。
      [0022]圖3為本實(shí)施例中native沙箱與下載服務(wù)器之間交互的示意圖。在native沙箱之上可以開發(fā)多個APP,圖3中分別稱為APPl、……,APPN0
      [0023]對于本實(shí)施例而言,上述步驟S04還可進(jìn)一步細(xì)化,其細(xì)化后的流程圖如圖4所示。圖4中,上述步驟S04進(jìn)一步包括:
      步驟S41用戶在移動終端上安裝native沙箱后,將對應(yīng)的APP安裝包下載到移動終端上:本步驟中,用戶在移動終端上安裝native沙箱后,將對應(yīng)的APP安裝包下載到移動終端上,也就是說用戶首次使用某個APP的時候,要將對應(yīng)的應(yīng)用zip包下載到移動終端側(cè)。
      [0024]步驟S42對APP安裝包進(jìn)行解壓并將解壓后得到的APP存放到一個目錄下:本步驟中,對APP安裝包進(jìn)行解壓并將解壓后得到的APP存放到一個目錄下,實(shí)際存儲時,native沙箱把每個APP單獨(dú)存放到一個目錄下。每個APP的應(yīng)用目下包括應(yīng)用描述文件、應(yīng)用頁面文件、CSS樣式文件和資源文件,應(yīng)用頁面文件中存儲應(yīng)用的全部代碼文件,代碼文件包括html頁面和js文件。本實(shí)施例中,將應(yīng)用描述文件和應(yīng)用頁面文件分別標(biāo)記為app.xml和pages, dat,值得一提的是,app.xml有且只有一個,pages, dat有且只有一個,pages, dat是應(yīng)用發(fā)布時由打包工具生成的。資源文件包括圖片、音頻等。
      [0025]值得一提的是,app.xml是一個xml文件,其中包含APP的名稱(應(yīng)用ID)、主頁面和版本號。這個文件的規(guī)范如下:必須是UTF-8編碼。根元素必須是app。
      [0026]<?xml version=” 1.0” encoding=”utf_8” ?>
      <app>
      〈index〉首頁文件相對目錄,例如:page/index.html</index)
      〈name〉應(yīng)用名稱〈/name〉
      〈versionCode〉應(yīng)用版本號,整數(shù)。例如:20〈/versionCode >
      〈versionName〉應(yīng)用可見版本號,字符。例如:1.0.0〈/versionName >
      </app>
      本實(shí)施例中,APP程序文件包含兩個類型的文件:代碼文件和代碼文件之外的其它資源文件,代碼文件包括html文件和js文件。代碼文件之外的其它資源文件,其包括html頁面中使用到的圖片文件、媒體文件等。APP安裝包是由代碼文件存儲到應(yīng)用頁面文件中,然后將應(yīng)用頁面文件和資源文件進(jìn)行壓縮生成的。也就是說,對于本實(shí)施例而言,APP打包的過程為:首先把所有的代碼文件存儲到pages, dat文件中;然后把pages, dat和其它資源文件壓縮生成zip包。
      [0027]圖5為本實(shí)施例中APP安裝包在移動終端存儲的示意圖。
      [0028]現(xiàn)有技術(shù)中,客戶端存儲存在安全問題。在以前版本的HTML語言中,僅允許將Cookies作為本地信息進(jìn)行存儲且分配空間相對較小??蛻舳松贤淮鎯唵蔚臅扞D等少量信息,當(dāng)用戶需要多次訪問相同數(shù)據(jù)時,需要多次向服務(wù)器端發(fā)送請求,降低了 Web的訪問性能。隨著Web應(yīng)用復(fù)雜度和數(shù)據(jù)量的不斷增大,HTML5引進(jìn)了本地?cái)?shù)據(jù)庫能力,允許瀏覽器在客戶端存儲大量數(shù)據(jù)。這一調(diào)整雖然提高了訪問性能,卻是以犧牲安全為代價(jià)的,帶來了安全隱患。本地?cái)?shù)據(jù)庫采用明文存儲,并且沒有任何保護(hù)機(jī)制,一旦有XSS漏洞,使用本地?cái)?shù)據(jù)庫存儲的數(shù)據(jù)很容易被攻擊者獲??;同時,攻擊者只需通過物理訪問或者破壞客戶端等簡單方法,就能夠輕松地獲得敏感數(shù)據(jù)。圖6為本實(shí)施例中APP數(shù)據(jù)存儲的示意圖,在本實(shí)施例中,native為每個APP分配單獨(dú)的私有數(shù)據(jù)庫,只有對應(yīng)的APP進(jìn)行訪問,寫入私有數(shù)據(jù)庫的數(shù)據(jù)是加密的,避免了敏感數(shù)據(jù)被訪問的風(fēng)險(xiǎn),加密方式采用DES對稱加密;native還同時提供了公用數(shù)據(jù)庫區(qū),APP可以在公用數(shù)據(jù)庫區(qū)創(chuàng)建數(shù)據(jù)庫,公用數(shù)據(jù)庫區(qū)主要用于在不同APP之間交換數(shù)據(jù)。公用數(shù)據(jù)庫區(qū)的數(shù)據(jù)庫,是不加密的。
      [0029]現(xiàn)有技術(shù)中, 在安全方面,完全依賴于瀏覽器,Web APP開發(fā)者對于安全并沒有首先的控制力,這是因?yàn)?,HTML5頁面是由移動設(shè)備(移動終端)上的瀏覽器來解析執(zhí)行的。如果用戶在不知情的情況下使用了一個不安全的瀏覽器,或者使用了嵌入惡意代碼的瀏覽器,那用戶的安全就得不到保障了,而用戶卻往往會認(rèn)為這是Web APP開發(fā)者的問題。
      [0030]另外,很多APP,特別是企業(yè)APP,都會有對應(yīng)的APP服務(wù)器。如果APP被篡改了,可能導(dǎo)致APP服務(wù)器受到攻擊,被非法訪問,導(dǎo)致安全問題。本發(fā)明通過native沙盒和APP進(jìn)行安全檢查的方式,來防止native沙盒被篡改,嵌入惡意代碼,防篡改需要云安全服務(wù)器的配合。圖7為本實(shí)施例中移動終端與APP服務(wù)器之間通訊的示意圖;圖7中,移動終端通過云安全服務(wù)器與APP服務(wù)器通訊。
      [0031]值得一提的是,本實(shí)施例中,在上述步驟S04之后,為了對native沙盒和APP進(jìn)行安全檢查,該跨移動終端的混合APP開發(fā)方法還需執(zhí)行一些步驟。在對native沙盒和APP進(jìn)行安全檢查的過程中會涉及到一個體檢程序,該體檢程序在Android上是個so庫文件,在iOS上是個.a靜態(tài)庫。體檢程序檢查的邏輯,就是對native沙盒的程序文件(對于Android為apk包,對于iOS為執(zhí)行文件)以及APP的程序文件(pages, dat)的內(nèi)容進(jìn)行MD5摘要計(jì)算(計(jì)算一個文本的消息摘要),然后和合法版本程序文件的MD5值進(jìn)行比對,如果一致,則說明程序文件沒有被篡改。由于僅僅是用來執(zhí)行一段代碼邏輯,體檢程序的文件是非常小的。
      [0032]如圖8所示,在上述步驟S04之后,該跨移動終端的混合APP開發(fā)方法還進(jìn)一步包括如下步驟:
      步驟S05 native沙盒啟動并請求云安全服務(wù)器下載體檢程序:本步驟中,native沙盒啟動的時候,請求云安全服務(wù)器下載體檢程序。
      [0033]步驟S06云安全服務(wù)器分配安全憑證并將其嵌入到體檢程序中,同時把體檢程序文件返回給native沙盒:本步驟中,云安全服務(wù)器分配一個安全憑證,并將其嵌入到體檢程序中,同時把體檢程序文件返回給native沙盒。
      [0034]步驟S07 native沙盒調(diào)用體檢程序?qū)ζ溥M(jìn)行體檢:本步驟中,native沙盒調(diào)用體檢程序?qū)ζ溥M(jìn)行體檢。
      [0035]步驟S08對native沙盒的程序文件的內(nèi)容進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與云安全服務(wù)器上保存的MD5結(jié)果是否一致:本步驟中,本步驟中,對native沙盒的程序文件(Android為apk包,iOS上為執(zhí)行文件)的內(nèi)容進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與云安全服務(wù)器上保存的MD5結(jié)果是否一致,如果判斷的結(jié)果為是,則說明native沙盒沒有被篡改,是安全的,則執(zhí)行步驟SlO ;否則,說明native沙盒被篡改過了,不返回安全憑證給native沙盒,執(zhí)行步驟S09。
      [0036]步驟S09將移動終端上的native沙盒檢查不通過的結(jié)果上報(bào)給云安全服務(wù)器:如果上述步驟S08的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,將移動終端上的native沙盒安全檢查不通過的結(jié)果上報(bào)給云安全服務(wù)器。本實(shí)施例中,上報(bào)的是移動終端的MAC地址。
      [0037]步驟SlO將安全憑證返回給native沙盒:如果上述步驟S08的判斷結(jié)果為是,則執(zhí)行本步驟。本步驟中,將安全憑證返回給native沙盒。執(zhí)行完本步驟,執(zhí)行步驟S11。
      [0038]步驟Sll對APP的應(yīng)用頁面文件進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與云安全服務(wù)器上保存的MD5結(jié)果是否一致:本步驟中,對APP的應(yīng)用頁面文件進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與云安全服務(wù)器上保存的MD5結(jié)果是否一致,具體就是對APP的pages, dat文件進(jìn)行MD5計(jì)算,同時和云安全服務(wù)器上保存的MD5結(jié)果進(jìn)行比對,本步驟中,如果判斷的結(jié)果為是,表明APP沒有被篡改過,則執(zhí)行本步驟S13 ;否則,執(zhí)行步驟S12。
      [0039]步驟S12 APP不能進(jìn)行使用:如果上述步驟Sll的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,提示用戶APP被篡改了,APP不能進(jìn)行使用。
      [0040]步驟S13 APP進(jìn)行正常使用:如果上述步驟Sll的判斷結(jié)果為是,則執(zhí)行本步驟。本步驟中,APP進(jìn)行正常使用。
      [0041]值得一提的是,雖然可能native沙盒被篡改在之后,調(diào)用體檢程序的邏輯可能會被破解去掉,但是,移動終端上的APP如果要訪問APP服務(wù)器,需要通過云安全服務(wù)器,如果不體檢,是得不到安全憑證的。而沒有得到安全憑證的native沙盒,是無法訪問云安全服務(wù)器的,從而保證了用戶使用了被篡改的native沙盒之后,一定不會影響APP服務(wù)器。
      [0042]圖9為本實(shí)施例中對native沙盒和APP進(jìn)行安全檢查的時序圖。
      [0043]本實(shí)施例還涉及一種實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置,其結(jié)果示意圖如圖10所示。圖10中,該裝置包括沙箱開發(fā)單元1、應(yīng)用開發(fā)單元2、打包單元3和下載單元4 ;其中,沙箱開發(fā)單元I用于在不同的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱;native沙箱能執(zhí)行Web APP ;應(yīng)用開發(fā)單元2用于在native沙箱之上開發(fā)APP ;打包單元3用于把編寫好的APP代碼進(jìn)行加密打包成APP安裝包,并將APP安裝包存儲到下載服務(wù)器上;下載單元4用于使用戶在移動終端上安裝native沙箱后,把下載服務(wù)器中的APP安裝包下載到移動終端上進(jìn)行使用。這樣APP只需要在首次使用的時候下載一次,后續(xù)使用無需再下載對APP程序,所以不需要擔(dān)心移動設(shè)備網(wǎng)絡(luò)信號的好壞,用戶使用起來其速度較快,同時對編寫好的APP代碼采用加密、打包方式,規(guī)避了 html 5頁面源代碼可以被查看的安全風(fēng)險(xiǎn),所以其APP的安全性較好。同時打包之后也使應(yīng)用程序變得更小,降低了網(wǎng)絡(luò)流量。此外,還能夠讓開發(fā)出來的APP在各種移動終端操作系統(tǒng)上都可以使用。
      [0044]本實(shí)施例中,下載單元4進(jìn)一步包括安裝下載模塊41和解壓模塊42 ;其中,安裝下載模塊41用于使用戶在移動終端上安裝native沙箱后,將對應(yīng)的APP安裝包下載到移動終端上;解壓模塊42用于對APP安裝包進(jìn)行解壓并將解壓后得到的APP存放到一個目錄下;每個APP的應(yīng)用目下包括應(yīng)用描述文件、應(yīng)用頁面文件、CSS樣式文件和資源文件,應(yīng)用頁面文件中存儲應(yīng)用的全部代碼文件,代碼文件包括html頁面和js文件。值得一提的是,本實(shí)施例中,上述打包單元3中APP安裝包是由代碼文件存儲到應(yīng)用頁面文件中,然后將應(yīng)用頁面文件和資源文件進(jìn)行壓縮生成的。
      [0045]本實(shí)施例中,native為每個APP分配單獨(dú)的私有數(shù)據(jù)庫,只有對應(yīng)的APP進(jìn)行訪問,也就是只有該APP才能進(jìn)行訪問,寫入私有數(shù)據(jù)庫的數(shù)據(jù)是加密的,避免了敏感數(shù)據(jù)被訪問的風(fēng)險(xiǎn),使APP更加安全,加密方式采用DES對稱加密;native還同時提供了公用數(shù)據(jù)庫區(qū),APP可以在公用數(shù)據(jù)庫區(qū)創(chuàng)建數(shù)據(jù)庫,公用數(shù)據(jù)庫區(qū)主要用于在不同APP之間交換數(shù)據(jù)。公用數(shù)據(jù)庫區(qū)的數(shù)據(jù)庫,是不加密的。
      [0046]本實(shí)施例中,移動終端通過云安全服務(wù)器與APP服務(wù)器通訊,為了防止native沙盒被篡改而嵌入惡意代碼,通過native沙盒和APP進(jìn)行安全檢查的方式。為了對native沙盒和APP進(jìn)行安全檢查,本實(shí)施例中,所述裝置還包括沙盒啟動請求單元5、分配單元6、體檢單元7、沙盒文件計(jì)算判斷單元8、返回單元9和頁面文件計(jì)算判斷單元10 ;其中,沙盒啟動請求單元5用于使native沙盒啟動并請求云安全服務(wù)器下載體檢程序;分配單元6用于使云安全服務(wù)器分配安全憑證并將其嵌入到體檢程序中,同時把體檢程序文件返回給native沙盒;體檢單元7用于使native沙盒調(diào)用體檢程序?qū)ζ溥M(jìn)行體檢;沙盒文件計(jì)算判斷單元8用于對native沙盒的程序文件的內(nèi)容進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與云安全服務(wù)器上保存的MD5結(jié)果是否一致,并在不一致時將移動終端上的native沙盒檢查不通過的結(jié)果上報(bào)給云安全服務(wù)器;返回單元9用于將安全憑證返回給native沙盒;頁面文件計(jì)算判斷單元10用于對APP的應(yīng)用頁面文件進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與云安全服務(wù)器上保存的MD5結(jié)果是否一致,如是,APP進(jìn)行正常使用;否則,APP不能進(jìn)行使用。沒有得到安全憑證的native沙盒,是無法訪問云安全服務(wù)器的,從而保證了用戶使用了被篡改的native沙盒之后,一定不會影響APP服務(wù)器。
      [0047]總之,在本實(shí)施例中,和現(xiàn)有的html 5 web app—樣,本發(fā)明具備跨平臺的特性,能夠支持多種常見移動終端操作系統(tǒng)。APP發(fā)布后,以zip包形式存儲在下載服務(wù)器,用戶首次使用某個APP的時候,應(yīng)用zip包被下載到移動終端側(cè),并解壓后存放,這樣用戶使用起來感覺速度較快。在進(jìn)行打包時,對應(yīng)用程序的代碼文件和資源文件進(jìn)行加密打包,保證了安全性。應(yīng)用數(shù)據(jù)在存儲時,對于APP私有數(shù)據(jù)庫進(jìn)行了加密保護(hù),避免了敏感數(shù)據(jù)被訪問的風(fēng)險(xiǎn);同時提供了公用數(shù)據(jù)庫區(qū),讓不同APP可以進(jìn)行數(shù)據(jù)交換。通過云安全服務(wù)器以及體檢程序,使得被篡改的native沙盒和APP不能使用,不能訪問APP服務(wù)器。
      [0048]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【權(quán)利要求】
      1.一種跨移動終端的混合APP開發(fā)方法,其特征在于,包括如下步驟: A)在不同的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱;所述native沙箱能執(zhí)行Web APP ; B)在所述native沙箱之上開發(fā)APP; C)把編寫好的APP代碼進(jìn)行加密打包成APP安裝包,并將所述APP安裝包存儲到下載服務(wù)器上; D)用戶在移動終端上安裝所述native沙箱后,把所述下載服務(wù)器中的APP安裝包下載到所述移動終端上進(jìn)行使用。
      2.根據(jù)權(quán)利要求1所述的跨移動終端的混合APP開發(fā)方法,其特征在于,所述步驟D)進(jìn)一步包括: Dl)用戶在移動終端上安裝所述native沙箱后,將對應(yīng)的APP安裝包下載到所述移動終端上; D2)對所述APP安裝包進(jìn)行解壓并將解壓后得到的APP存放到一個目錄下; 每個APP的應(yīng)用目下包括應(yīng)用描述文件、應(yīng)用頁面文件、CSS樣式文件和資源文件,所述應(yīng)用頁面文件中存儲應(yīng)用的全部代碼文件,所述代碼文件包括html頁面和js文件。
      3.根據(jù)權(quán)利要求2所述的跨移動終端的混合APP開發(fā)方法,其特征在于,所述步驟C)中APP安裝包是由所述代碼文件存儲到所述應(yīng)用頁面文件中,然后將所述應(yīng)用頁面文件和資源文件進(jìn)行壓縮生成的。
      4.根據(jù)權(quán)利要求 2所述的跨移動終端的混合APP開發(fā)方法,其特征在于,所述移動終端通過云安全服務(wù)器與APP服務(wù)器通訊,在所述步驟D)之后還包括: E)native沙盒啟動并請求所述云安全服務(wù)器下載體檢程序; F)所述云安全服務(wù)器分配安全憑證并將其嵌入到所述體檢程序中,同時把體檢程序文件返回給所述native沙盒; G)所述native沙盒調(diào)用所述體檢程序?qū)ζ溥M(jìn)行體檢; H)對所述native沙盒的程序文件的內(nèi)容進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與所述云安全服務(wù)器上保存的MD5結(jié)果是否一致,如是,執(zhí)行步驟I);否則,將所述移動終端上的native沙盒檢查不通過的結(jié)果上報(bào)給所述云安全服務(wù)器; I)將所述安全憑證返回給所述native沙盒; J)對APP的應(yīng)用頁面文件進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與所述云安全服務(wù)器上保存的MD5結(jié)果是否一致,如是,APP進(jìn)行正常使用;否則,APP不能進(jìn)行使用。
      5.根據(jù)權(quán)利要求1至4任意一項(xiàng)所述的跨移動終端的混合APP開發(fā)方法,其特征在于,所述native為每個APP分配單獨(dú)的私有數(shù)據(jù)庫,只有對應(yīng)的APP進(jìn)行訪問,寫入所述私有數(shù)據(jù)庫的數(shù)據(jù)是經(jīng)過DES對稱加密的,所述native還提供用于在不同APP之間交換數(shù)據(jù)的公用數(shù)據(jù)庫區(qū),所述APP在公用數(shù)據(jù)庫區(qū)創(chuàng)建數(shù)據(jù)庫。
      6.一種實(shí)現(xiàn)如權(quán)利要求1所述的跨移動終端的混合APP開發(fā)方法的裝置,其特征在于,包括: 沙箱開發(fā)單元:用于在不同的操作系統(tǒng)上用native開發(fā)方式實(shí)現(xiàn)統(tǒng)一的native沙箱;所述native沙箱能執(zhí)行Web APP ; 應(yīng)用開發(fā)單元:用于在所述native沙箱之上開發(fā)APP ;打包單元:用于把編寫好的APP代碼進(jìn)行加密打包成APP安裝包,并將所述APP安裝包存儲到下載服務(wù)器上; 下載單元:用于使用戶在移動終端上安裝所述native沙箱后,把所述下載服務(wù)器中的APP安裝包下載到所述移動終端上進(jìn)行使用。
      7.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置,其特征在于,所述下載單元進(jìn)一步包括: 安裝下載模塊:用于使用戶在移動終端上安裝所述native沙箱后,將對應(yīng)的APP安裝包下載到所述移動終端上; 解壓模塊:用于對所述APP安裝包進(jìn)行解壓并將解壓后得到的APP存放到一個目錄下; 每個APP的應(yīng)用目下包括應(yīng)用描述文件、應(yīng)用頁面文件、CSS樣式文件和資源文件,所述應(yīng)用頁面文件中存儲應(yīng)用的全部代碼文件,所述代碼文件包括html頁面和js文件。
      8.根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置,其特征在于,所述打包單元中APP安裝包是由所述代碼文件存儲到所述應(yīng)用頁面文件中,然后將所述應(yīng)用頁面文件和資源文件進(jìn)行壓縮生成的。
      9.根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置,其特征在于,所述移動終端通 過云安全服務(wù)器與APP服務(wù)器通訊,所述裝置還包括: 沙盒啟動請求單元:用于使native沙盒啟動并請求所述云安全服務(wù)器下載體檢程序; 分配單元:用于使所述云安全服務(wù)器分配安全憑證并將其嵌入到所述體檢程序中,同時把體檢程序文件返回給所述native沙盒; 體檢單元:用于使所述native沙盒調(diào)用所述體檢程序?qū)ζ溥M(jìn)行體檢; 沙盒文件計(jì)算判斷單元:用于對所述native沙盒的程序文件的內(nèi)容進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與所述云安全服務(wù)器上保存的MD5結(jié)果是否一致,并在不一致時將所述移動終端上的native沙盒檢查不通過的結(jié)果上報(bào)給所述云安全服務(wù)器; 返回單元:用于將所述安全憑證返回給所述native沙盒; 頁面文件計(jì)算判斷單元:用于對APP的應(yīng)用頁面文件進(jìn)行MD5計(jì)算,并判斷計(jì)算結(jié)果與所述云安全服務(wù)器上保存的MD5結(jié)果是否一致,如是,APP進(jìn)行正常使用;否則,APP不能進(jìn)行使用。
      10.根據(jù)權(quán)利要求6至9任意一項(xiàng)所述的實(shí)現(xiàn)上述跨移動終端的混合APP開發(fā)方法的裝置,其特征在于,所述native為每個APP分配單獨(dú)的私有數(shù)據(jù)庫,只有對應(yīng)的APP進(jìn)行訪問,寫入所述私有數(shù)據(jù)庫的數(shù)據(jù)是經(jīng)過DES對稱加密的,所述native還提供用于在不同APP之間交換數(shù)據(jù)的公用數(shù)據(jù)庫區(qū),所述APP在公用數(shù)據(jù)庫區(qū)創(chuàng)建數(shù)據(jù)庫。
      【文檔編號】G06F9/445GK103744652SQ201310705843
      【公開日】2014年4月23日 申請日期:2013年12月19日 優(yōu)先權(quán)日:2013年12月19日
      【發(fā)明者】施東榮, 陳文浩, 張巖, 林建平, 廖炳才, 王付國 申請人:深圳市邁橋科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1