[發(fā)明專利]網(wǎng)頁應(yīng)用代碼保護(hù)方法及系統(tǒng)和執(zhí)行的提速方法及系統(tǒng)無效
| 申請?zhí)枺?/td> | 201210138213.1 | 申請日: | 2012-05-04 |
| 公開(公告)號: | CN103177199A | 公開(公告)日: | 2013-06-26 |
| 發(fā)明(設(shè)計)人: | 陳士凱;潘愛民 | 申請(專利權(quán))人: | 盛樂信息技術(shù)(上海)有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/52;G06F17/30 |
| 代理公司: | 上海思微知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 31237 | 代理人: | 菅秀君 |
| 地址: | 201203 上海市浦東新區(qū)*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 網(wǎng)頁 應(yīng)用 代碼 保護(hù) 方法 系統(tǒng) 執(zhí)行 提速 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)頁應(yīng)用代碼保護(hù)方法及系統(tǒng)和執(zhí)行的提速方法及系統(tǒng)。
背景技術(shù)
目前的網(wǎng)頁應(yīng)用在發(fā)布時以文本文件形式保存了JavaScript/HTML/CSS的源代碼。在每次網(wǎng)頁應(yīng)用程序被加載執(zhí)行時,瀏覽器會將文本表示的HTML/CSS標(biāo)簽解析成二進(jìn)制的內(nèi)部表示,而JavaScript源代碼會被JavaScript虛擬機翻譯并執(zhí)行。
加載網(wǎng)頁應(yīng)用的瀏覽器和JavaScript虛擬機所進(jìn)行的源代碼解析工作將消耗很多性能,當(dāng)網(wǎng)頁應(yīng)用變得復(fù)雜時,用戶會有系統(tǒng)反應(yīng)變遲鈍的感覺。
另外,由于目前網(wǎng)頁應(yīng)用都直接將文本文件形式的源代碼發(fā)布并直接在客戶設(shè)備上執(zhí)行,因此很難保證開發(fā)人員的知識產(chǎn)權(quán),第三方可輕易利用網(wǎng)頁應(yīng)用的源代碼進(jìn)行剽竊抄襲并從中牟利;而且,這類形式的網(wǎng)頁應(yīng)用的程序邏輯也可以被輕易修改,加入惡意代碼,不利于網(wǎng)頁應(yīng)用源代碼的保密和維權(quán)。
針對代碼保護(hù)的問題,目前市面上已有對網(wǎng)頁應(yīng)用文本文件代碼進(jìn)行縮減重新排版的代碼混淆器,但由于這類混淆器仍舊輸出了文本文件格式的代碼,因此仍可被輕易恢復(fù)成易讀的源代碼,保護(hù)效果很不理想。
因此,需要一種一種網(wǎng)頁應(yīng)用的代碼保護(hù)方法及系統(tǒng),能夠有效提高網(wǎng)頁應(yīng)用的代碼保密性能,同時需要網(wǎng)頁應(yīng)用執(zhí)行的提速方法及系統(tǒng),避免網(wǎng)頁應(yīng)用在加載時所進(jìn)行的解析和二進(jìn)制翻譯工作,提高網(wǎng)頁應(yīng)用的運行性能。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種網(wǎng)頁應(yīng)用代碼保護(hù)方法及系統(tǒng)和執(zhí)行的提速方法及系統(tǒng),有效提高網(wǎng)頁應(yīng)用發(fā)布的代碼保密性能,并避免網(wǎng)頁應(yīng)用在每次執(zhí)行時所進(jìn)行的文本形式的代碼解析和二進(jìn)制翻譯工作,提高網(wǎng)頁應(yīng)用的運行性能。
為解決上述問題,本發(fā)明提供一種網(wǎng)頁應(yīng)用的代碼保護(hù)方法,包括:
在所述網(wǎng)頁應(yīng)用的發(fā)布階段進(jìn)行,將文本形式保存的所述網(wǎng)絡(luò)應(yīng)用的程序源代碼預(yù)編譯成二進(jìn)制格式數(shù)據(jù);
保存所述二進(jìn)制格式數(shù)據(jù)到用于所述網(wǎng)絡(luò)應(yīng)用發(fā)布的輸出文件中。
進(jìn)一步的,所述程序源代碼包括HTML、XML、CSS和JavaScript。
進(jìn)一步的,所述預(yù)編譯過程的步驟包括:
讀取并解析所述HTML、XML及CSS程序源代碼文件,產(chǎn)生DOM對象樹并二進(jìn)制序列化所述DOM對象樹,生成二進(jìn)制格式代碼;
讀取JavaScript程序源代碼文件,對每個JavaScript源代碼進(jìn)行詞法和語法分析,產(chǎn)生JavaScript程序源代碼語義等價的二進(jìn)制格式字節(jié)碼。
進(jìn)一步的,在所述預(yù)編譯過程中,解析HTML、XML及CSS程序源代碼文件時,識別出包含有嵌入JavaScript程序源代碼的HTML、XML及CSS程序源代碼文件并提取其嵌入的JavaScript程序源代碼并對所述嵌入的JavaScript源代碼進(jìn)行詞法和語法分析,產(chǎn)生二進(jìn)制格式字節(jié)碼,更新DOM對象樹,記錄所述嵌入的JavaScript源代碼與相應(yīng)的HTML、XML及CSS程序源代碼文件的包含關(guān)系及其位于HTML、XML及CSS程序源代碼文件的邏輯位置至所述輸出文件中。
進(jìn)一步的,所述預(yù)編譯過程的步驟還包括:對所述二進(jìn)制格式代碼和二進(jìn)制格式字節(jié)碼進(jìn)行壓縮、加密、數(shù)字簽名。
本發(fā)明還提供一種網(wǎng)頁應(yīng)用的代碼保護(hù)系統(tǒng),包括:
存儲單元,用于存儲用于所述網(wǎng)絡(luò)應(yīng)用發(fā)布的輸出文件;
二進(jìn)制編譯器,用于在所述網(wǎng)頁應(yīng)用的發(fā)布階段進(jìn)行,將文本形式保存的所述網(wǎng)絡(luò)應(yīng)用的程序源代碼預(yù)編譯成二進(jìn)制格式數(shù)據(jù)。
進(jìn)一步的,所述程序源代碼包括HTML、XML、CSS和JavaScript。
進(jìn)一步的,所述二進(jìn)制編譯器包括:
HTML/XML/CSS編譯器,用于在所述網(wǎng)頁應(yīng)用的發(fā)布階段,讀取并解析所述HTML、XML及CSS程序源代碼文件,產(chǎn)生DOM對象樹并二進(jìn)制序列化所述DOM對象樹,生成二進(jìn)制格式代碼;
JavaScript編譯器,用于在所述網(wǎng)頁應(yīng)用的發(fā)布階段,讀取JavaScript程序源代碼文件,對每個JavaScript源代碼進(jìn)行詞法和語法分析,產(chǎn)生二進(jìn)制格式字節(jié)碼。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于盛樂信息技術(shù)(上海)有限公司,未經(jīng)盛樂信息技術(shù)(上海)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210138213.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在線應(yīng)用平臺上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場
- 使用應(yīng)用的方法和應(yīng)用平臺
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測方法及應(yīng)用檢測裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)





