201039172 六、發明說明: 【發明所屬之技術領域】 本發明係有關通信技術領域,特別是有關一種網頁加 密和解密的方法、系統及設備。 【先前技術】 隨著網路的迅速發展,萬維網成爲大量資訊的載體, 0 搜索引擎能夠有效地提取並利用萬維網中的大量資訊,並 作爲一個輔助的檢索資訊的工具成爲用戶訪問萬維網的入 口和指南。爬蟲是搜索引擎的一部分,是一個自動下載網 頁的程式’爬蟲根據既定的抓取目標,有選擇的訪問萬維 網上的網頁與相關的鏈結,獲取所需要的資訊。爬蟲負責 把網路的資料收集下來,並把網路的資料放到搜索引擎的 網頁上。然而隨著網路技術的不斷發展,網站的資訊不斷 被惡意抓取’而網站的頁面中有的內容是需要進行保護的 〇 ,要拒絕爬蟲、惡意程式、搜索引擎等的大規模大量抓取
Q 現有技術中’提出了一種防抓取的方法,如圖1所示 ,包括: 步驟S101,網站設置單個IP的用戶在單位時間內訪 問的請求次數的最大値。 步驟S102,在用戶訪問該網站時,網站跟蹤單個IP 的用戶請求。 步驟S103,系統記錄出該用戶在單位時間內對該網 -5- 201039172 站發出的請求次數。 步驟S 1 04 ’判斷系統記錄的該用戶在單位時間內對 該網站發出的請求次數,是否大於網站設置的單個IP的 用戶在單位時間內訪問的請求次數的最大値,若大於,則 轉到步驟S 1 0 5 ’若不大於,則轉到步驟s 1 0 6。 步驟S105’網站認定該用戶的請求是爬蟲惡意抓取 並拒絕該用戶的請求,給該用戶發送一個提示資訊,或是 直接遮蔽掉該IP。 步驟S1 06’網站允許該用戶的請求。 在實現本發明的過程中,發明人發現現有技術中至少 存在以下問題:在現有技術中,用戶的使用體驗很不好, 用戶正常的訪問請求也會因爲訪問過於頻繁而被網站伺服 器誤認爲是爬蟲等程式在惡意抓取,而被拒絕請求訪問, 而且爬蟲程式還能夠透過不斷的僞造IP等方法來騙過網 站伺服器的檢查,從而抓取網站的資訊。 【發明內容】 本發明實施例提供一種網頁加密和解密的方法、系統 及設備,以實現對頁面中需要保護的內容在伺服器端加密 ’在用戶端解密,防止了網站頁面被大規模大量抓取。 爲達到上述目的,本發明實施例提出了 一種網頁加密 和解密的方法,包括·· 伺服器根據加密演算法對網頁中的內容進行加密; 所述伺服器將所述加密後的內容發送給用戶端瀏覽器 -6 - 201039172 所述用戶端瀏覽器對所述加密後的內容進行解密; 所述用戶端瀏覽器將所述解密後的內容顯示給用戶。 本發明實施例還提出了一種網頁加密和解密的系統’ 包括: 伺服器,用以根據加密演算法對網頁中的內容進行力口 密,並將所述加密後的內容發送給用戶端瀏覽器; 0 用戶端瀏覽器,用於對所述加密後的內容進行解密’ 將所述解密的內容顯示給用戶。 本發明實施例還提出了一種網頁加密和解密的設備’ 包括: 加密模組,用以根據加密演算法對網頁中的內容進行 加密; 發送模組,用以將所述加密後的內容發送給用戶端瀏 覽器。 〇 本發明實施例還提出了一種網頁加密和解密的設備, 包括: 解密模組,用以對所述加密後的內容進行解密; 顯示模組,用以將所述解密的內容顯示給用戶。 與現有技術相比,本發明實施例具有以下優點:透過 採用快速的排列組合演算法,對頁面中需要保護的內容, 在網站伺服器端的網站應用程式中,對網頁內容進行加密 ’在用戶端瀏覽器中,對網頁內容在顯示時進行解密,用 戶看到的內容是解密後的內容,體驗非常好。而爬蟲、惡 -7- 201039172 意程式 '搜索引擎等抓取的內容還是加密前的內容,防止 了網站的內容被大規模大量抓取。 【實施方式】 下面將結合本發明實施例中的附圖,對本發明實施例 中的技術方案進行清楚、完整地描述,顯然,所描述的實 施例僅僅是本發明一部分實施例,而不是全部的實施例。 基於本發明中的實施例,本領域普通技術人員在沒有作出 創造性勞動前提下所獲得的所有其他實施例,都屬於本發 明保護的範圍。 本發明實施例一提出的一種網頁加密和解密的方法, 如圖2所示,包括: 步驟S20 1,伺服器根據加密演算法對網頁中的內容 進行加密; 步驟S2 02,所述伺服器將所述加密後的內容發送給 用戶端瀏覽器; 步驟S203,所述用戶端瀏覽器對所述加密後的內容 進行解密; 步驟S204,所述用戶端瀏覽器將所述解密後的內容 顯示給用戶。 可見,本發明實施例中,透過採用快速的排列組合演 算法,在伺服器端對網頁中的內容進行加密,在用戶端瀏 覽器中對所述加密的網頁中的內容進行解密,使得用戶看 到的內容是解密後的內容,體驗非常好。 -8- 201039172 本發明實施例二提出的一種網頁加密和解密的方法, 如圖3所示,包括: 步騾S301’網站在伺服器端將以下的13個字元0,i ,2,3,4,5>6-7>8-9>&>#.;排成一個佇列,然 後遍歷佇列中的每個字元,同時會根據佇列中的每個字元 對應地產生一個亂數,這樣就得到了 1 3個亂數,然後會 根據這1 3個亂數的大小採用泡沫排序法將這1 3個亂數重 〇 新排列’這樣得到了一個有著1 3個亂數的佇列,使用這 1 3個亂數對應的原佇列中的1 3個字元替換現有的這1 3個 亂數’就得到了一個根據這13個字元0,1,2,3,4,5 ,6,7,8,9,&,#,:產生的新佇列。 步驟 S302,網站將由 〇,1,2,3,4,5,6,7,8, 9 ’ & ’ # ’ :等1 3個字元排成的佇列和產生的新佇列按照 對應關係--對應起來,組成一個hash (散列)表。用戶 每次透過瀏覽器向網站發出訪問請求時,就會產生新的 〇 hash表’而每次請求產生的hash表都不一樣,保證了 hash表的隨機性,不會出現重複的情況。 步驟S303’在網站伺服器端,使用java servlet應用 程式’ asp (動態伺服器主頁),php (個人網頁程式), c#(C語言)等語言中的一種來編寫出網頁程式。伺服器 中的加密程式將網頁中需要加密的網頁內容由ascII (美 國資訊交換標準碼)轉換成Unicode (統一碼),其中, Unicode是一種在電腦上使用的字元編碼,爲每種語言中 的每個字元設定了統一並且唯一的二進位編碼,以滿足跨 -9- 201039172 語言、跨平臺進行文本轉換、處理的要求,而Unicode碼 也是由 0’1,2’3,4’5’6,7’8’9,&’#’ ;這 13 個字元所組成的。在ascii碼轉換成Unicode碼的過程中 ,是透過相應的函數完成的。該伺服器中的加密程式是由 java語言、或c語言、或asp語言、或php語言編寫。 步驟S3 04,伺服器中的加密程式根據步驟S 3 02中產 生的hash表,將網頁內容的Unicode字串中的每個字元都 替換成hash表新佇列中對應的字元,而hash表新佇列中 字元的排列具有隨機性,也就是網頁內容的Unicode字串 中的每個字元都被隨機的字元所替代,以形成新的字串, 而hash表中的字元和Unicode碼都是由0,1,2,3,4, 5,6,7,8,9,&,#,:這13個字元組成的,能夠-- 對應起來,這樣就將需要加密保護的網頁內容的Unicode 字元轉換成了加密後的Unicode字元,在服務端完成了加 密的過程。 步驟S305,網站將加密後的網頁內容用帶有id (標 識)屬性的html (超文本標記語言)元素標籤包起來,該 html元素包括div層、表格、單格等。 步驟S 3 0 6,網站將解密用的腳本語言插入到該網頁 中的某個位置,該腳本語言包括 JavaScript腳本、 VBScript腳本或flash腳本。該解密用的腳本語言的方法 名可以隨機產生,該腳本語言的代碼可以隨機地插入到該 網頁html源代碼的任意合法位置,該腳本語言代碼的換 行,空格等書寫格式可以隨機的定義產生,每個頁面中用 -10- 201039172 於內容解密的腳本語言的方法,腳本語言的名稱,以及腳 本語言在該頁面中位置,格式也都保持了隨機性。 步驟S3 07,用戶發出訪問命令,透過瀏覽器訪問該 經過網站加密的網頁。 步驟S3 08,在瀏覽器載入網頁時,得到了網站放置 在網頁中的腳本語言,根據該腳本語言調用帶有id屬性 的html元素標籤,得到加密後的網頁內容。 0 步驟S309,瀏覽器使用用戶端的解密腳本語言,根 據步驟S302中產生的hash表中的——對應關係,將加密 後的網頁內容中的每個Unicode字元都還原成加密前的 Unicode字元,以得到的解密後的Unicode字串。 步驟S3 10,瀏覽器透過使用腳本語言,將解密後的 Unicode碼的字串轉換成ascii碼的字串,以得到解密後的 網頁內容。 步驟S3 1 1,瀏覽器將得到的解密後的網頁內容設置 〇 到html元素的innerHTML中,這時瀏覽器就可以顯示出 網頁中的內容了,該內容就是經過解密的伺服器端的網頁 〇 步驟S3 1 2,用戶可以看到經過解密的伺服器端網頁 中的內容,該內容是正常的內容,不會影響用戶的使用體 驗。 步驟S313,在步驟S3 04之後,抓取程式將會抓取網 頁中的內容,抓取程式包括:爬蟲、惡意程式、搜索引擎 等。 -11 - 201039172 步驟S3 14,抓取程式將抓取的網頁中的 搜索引擎中,搜索引擎得到的內容爲加密後內 得到了加密的亂碼。抓取程式在抓取網頁中的 據搜索引擎要求的抓取規則來抓取,抓取程式 只會抓取到網頁中的部分內容,而解密用的腳 置具有不確定性,可以放在該網頁中的任意位 取程式很難抓取到該腳本語言,也就無法對該 容進行解密,只能得到加密後的亂碼。若抓取 內容中恰好有該腳本語言,也無法得到正常的 抓取程式只是機械性的抓取,所以在抓取到網 後’抓取程式直接將抓取內容輸入到捜索引擎 ,並不會直接顯示給用戶,經過資料庫輸出後 內容還是以亂碼的形式存在的。亦即,抓取程 頁中的內容只會是加密後的亂碼。其中,步_ 驟S 3 1 4與步驟s 3 0 5 —步驟S 3 1 2之間沒有必 序關係,也沒有必然的聯繫。 可見’本發明實施例中,透過採用快速的 算法’對頁面中需要保護的內容,在網站伺服 應用程式中,對網頁內容進行加密,在用戶端 對網頁內容在顯示時進行解密,用戶看到的內 的內容’體驗非常好。而爬蟲、惡意程式、搜 取的內容是加密前的內容,防止了網站的內容 量抓取。 本發明實施例提出的一種網頁加密和解密 內容發送到 容,也就是 內容時會根 根據該規則 本語言的位 置’所以抓 網頁中的內 程式抓取的 內容。因爲 頁中的內容 的資料庫中 ,網頁中的 式抓取到網 【S3 1 3 —步 然的先後順 排列組合演 器端的網站 瀏覽器中, 容是解密後 索引擎等抓 被大規模大 的系統,如 -12- 201039172 圖4所示,包括: 伺服器1 〇,用以根據加密演算法對網頁中的內容進行 加密,並將加密後的內容發送給用戶端瀏覽器20。 用戶端瀏覽器20,用以對伺服器1 〇加密後的內容_ 行解密,並將解密的內容顯示給用戶。 本發明實施例提出的一種網頁加密和解密的設備,女卩 圖5所示,包括: 〇 接收模組200 ’用以透過使用腳本語言而得到所述加 密後的網頁內容; 解密模組2 1 0,用以將接收模組200接收到的加密後 的內容進行解密; 顯不模組220,用以將解密模組210解密的內容顯示 給用戶; 還原模組230’用以將接收模組200接收到的加密後 的網頁內容中的Unicode字元還原成加密前的Unicode字 〇 元,以得到的解密後的Unicode字串; 第三轉換模組240,用以將還原模組23 0還原得到的 解密後的Unicode字串轉換成ascii的字串,以得到解密 的網頁內容。 本發明實施例提出的另一種網頁加密和解密的設備, 如圖6所示,包括: 加密模組1 0 0,用以根據加密演算法而在伺服器端對 網頁中的內容進行加密; 第一轉換模組110,用以將網頁中需要使用加密模組 -13- 201039172 100加密的內容由ascii碼轉換成Unicode碼; 第二轉換模組12〇,用以將第二轉換模組110轉換得 到的需要加密的網頁內容的Unicode字元轉換成加密的 Unicode 字元; 插入模組1 3 0,用以將對加密模組1 〇 〇加密的網頁內 容進行解密用的腳本語言方法插入到加密模組丨00加密的 網頁中的任意位置。 打包模組1 4 0,用以將加密模組1 ο 0加密後的網頁內 容用帶有id屬性的html元素標籤包起來。 透過以上的實施方式的描述,本領域的技術人員可以 清楚地瞭解到本發明可以透過硬體實現,也可以可借助軟 體加必要的通用硬體平臺的方式來實現。基於這樣的理解 ,本發明的技術方案可以以軟體產品的形式體現出來,該 軟體產品可以儲存在一個非易失性儲存媒體(可以是CD-ROM ’ U盤’移動式硬碟等)中,包括若干指令用以使得 一台電腦設備(可以是個人電腦,伺服器,或者網路設備 等)執行本發明各個實施例所述的方法。 以上所述僅是本發明的較佳實施方式,應當指出,對 於本技術領域的普通技術人員來說,在不脫離本發明原理 的前提下,還可以做出若干改進和潤飾,這些改進和潤飾 也應視本發明的保護範圍。 【圖式簡單說明】 圖1爲現有技術中防抓取的方法流程圖; -14- 201039172 圖2爲本發明實施例一的一種網頁加密和解密的方法 流程圖; 圖3爲本發明實施例二的一種網頁加密和解密的方法 流程圖; 圖4爲本發明實施例的一種網頁加密和解密的系統結 構圖; 圖5爲本發明實施例的一種網頁加密和解密的設備結 0 構圖; 圖6爲本發明實施例的另一種網頁加密和解密的設備 結構圖。 【主要元件符號說明】 1 0 :伺服器 20 :用戶端瀏覽器 200 :接收模組 〇 2 1 0 :解密模組 220 :顯示模組 23 0 :還原模組 240 :第三轉換模組 1〇〇 :加密模組 1 1.0 :第一轉換模組 120 :第二轉換模組 1 3 0 :插入模組 140 :打包模組 -15-