新四季網

一種針對Web頁面數據的摘要提取方法及檢測方法與流程

2023-05-27 22:50:16 2


本發明涉及計算機數據安全技術,尤其涉及Web頁面的數據安全。



背景技術:

通常,在一個Web系統中包括前端網頁和後端伺服器,終端用戶登錄前端網頁從而向後端伺服器提交表單數據。在提交數據及後續存儲過程中,存在表單數據發生不當改變的可能性,例如在無線傳輸過程中遭遇了噪聲幹擾,又例如管理員的誤操作,以及黑客惡意篡改數據等。上述表單數據的改變,會導致通過前端網頁再次呈現給用戶的數據與用戶原本提交的表單存在不一致的情況。尤其是在提交大量表單數據的情況下,用戶將難以迅速地感知到數據發生了變化,從而為用戶的業務帶來損失。

在現有技術中,為了克服上述缺陷,通常會採用摘要算法將用戶所輸入的全部數據作為一個整體進行校驗。然而,上述方案並不能定位到是哪一塊輸入數據發生了改變,也不能檢測出數據的順序是否發生了錯亂。



技術實現要素:

因此,本發明的目的在於克服上述現有技術的缺陷,提供一種針對Web頁面數據的摘要提取方法,其中所述Web頁面劃分成不同層次,所述方法包括:

1)基於Web頁面的輸入數據,生成最低層次的摘要;

2)基於前一層次的摘要,生成當前層次的摘要;

3)重複步驟2),直到生成最高層次的摘要;

4)根據全部層次的摘要,生成所述Web頁面數據的Web摘要。

優選地,根據所述方法,其中步驟1)包括:

對Web頁面域中的輸入數據提取摘要,生成域的摘要。

優選地,根據所述方法,其中步驟2)包括:

根據所述Web頁面的區中所包含的域,對其中的域的摘要提取摘要,生成區的摘要;

優選地,根據所述方法,其中步驟3)包括:

根據所述Web頁面中所包含的區,對其中的區的摘要提取摘要,生成頁面的摘要。

優選地,根據所述方法,其中步驟4)包括:

將生成的所述域的摘要、所述區的摘要、所述頁面的摘要拼接成字符串,生成Web摘要。

優選地,根據所述方法,其中步驟4)還包括:

在所述字符串中設置間隔符,間隔相鄰的所述域的摘要和所述區的摘要和/或所述頁面的摘要。

優選地,根據所述方法,其中步驟4)還包括:

在所述字符串中為所述域的摘要和所述區的摘要和所述頁面的摘要設置標識欄位,以標識所述域和所述區和所述頁面之間的層屬關係。

優選地,根據所述方法,其中步驟4)中所述標識欄位包括:

所述域的編號及其所屬區和/或頁面的編號,和

所述區的編號及其所屬頁面的編號,和

所述頁面的編號。

並且,本發明還提供了一種基於上述任意一項方法,檢測Web頁面數據變化的方法,包括:

1)獲得需要訪問的Web頁面數據及其相應的Web摘要;

2)採用與生成所述Web摘要相同的方法,對所獲得的Web頁面數據提取第二摘要;

3)將所述第二摘要與所述Web摘要進行比對,確定所獲得的Web頁面數據相較於所述輸入Web頁面的數據是否發生變化。

優選地,根據所述方法,其中步驟3)包括:

將第二摘要與所述Web摘要中的對應欄位進行直接比對:

如不相同,則報告該欄位所定位的數據發生異常。

優選地,根據所述方法,其中步驟3)包括:

將第二摘要與所述Web摘要中的相應欄位進行交叉比對:

如所述Web摘要中的欄位與所述第二摘要中的非對應欄位發生了交換,則報告該兩個欄位所定位的數據發生順序錯亂。

以及,一種檢測用戶輸入Web頁面的數據的變化的裝置,其中所述Web頁面劃分成不同層次,所述裝置包括:

層次加密上傳模塊,用於基於Web頁面的輸入數據,生成最低層次的摘要;以及基於前一層次的摘要,生成當前層次的摘要,直到生成最高層次的摘要;以及根據全部層次的摘要,生成所述Web頁面數據的Web摘要;

驗證模塊,用於對取回的數據提取第二摘要,並比對所述Web摘要與所述第二摘要,以檢驗取回的所述數據相較於所述輸入數據是否發生變化。

與現有技術相比,本發明的優點在於:

能夠根據網頁的結構分層次地對用戶輸入網頁的數據提取摘要,以在再次訪問該數據時,通過所提取的摘要確定網頁中的哪一部分數據發生了改變,以及數據的位置是否發生了更改。從而為用戶數據的一致性與完整性驗證提供支持,即便是在用戶輸入大量數據的情況下,也可以迅速地向用戶報告所訪問的數據發生了何種改變。

附圖說明

以下參照附圖對本發明實施例作進一步說明,其中:

圖1是根據本發明的一個實施例,對Web頁面數據提取摘要的流程圖;

圖2示出了對用戶輸入Web頁面的數據的摘要以及從伺服器下載的數據的摘要進行比較的一個示例;其中,s0、s1、s2、分別表示用戶輸入該Web頁面數據的域摘要、區摘要、頁面摘要,s0』、s1』、s2』分別為從伺服器下載的數據的域摘要、區摘要、頁面摘要,網頁1包含區1和區2,區1包含域1、2,區2包含域3、4;

圖3是根據本發明的一個實施例,檢驗Web頁面所上傳數據的變化的方法的流程圖;

圖4是一個典型的有大量表單需用戶填寫的web頁面簡化樣例,其中依據該web頁面的結構,示出了表單域ID值的取值規則;

圖5是根據本發明的一個實施例檢驗Web頁面所上傳數據變化的模塊示意圖。

具體實施方式

下面結合附圖和具體實施方式對本發明作詳細說明。

通常,為了驗證Web頁面的數據是否發生改變,會針對需要上傳至伺服器的數據提取第一摘要;在從伺服器下載數據後,對所下載的數據提取第二摘要;將該第一摘要與該第二摘要進行比對,如果兩者不一致,則說明數據發生改變。本申請文件中的「提取」指的是將數據作為摘要算法的輸入,將其輸出作為摘要。

然而,現有技術往往是針對用戶輸入Web頁面的全部數據來提取摘要,而這種方式只能用於判斷上傳至伺服器的數據是否發生改變,不能用於確定Web頁面中的哪一部分數據發生了改變,也不能確定數據發生了什麼樣的改變。例如,不能確定原本處於Web頁面中某一特定域的數據被修改到了該Web頁面的另一個域的位置上。當用戶輸入大量數據的情況下,將很難由用戶自行判斷發生了這些改變。

對此,發明人通過研究發現,通常情況下,Web頁面具有通用的結構劃分,即在一個Web頁面中包含多個區,每個區中包含多個域,圖4示出了一個web頁面的簡化樣例。可以將域看作是Web頁面結構中最低的層次,區屬於比域高一級的層次,而頁面則是更高層次。對此,發明人認識到可以通過按照域、區、Web頁面這幾個層次逐步地提取第一摘要。當再次訪問用戶輸入該Web頁面的數據時,採用相同的規則分層次地對通過訪問獲得的數據提取摘要(本申請文件中稱為第二摘要),並將第一摘要和第二摘要進行比對,從而可以根據比對的結果判斷所訪問的數據是否發生改變,以及對發生改變的數據進行定位,以及判斷定位到的數據發生了何種改變。

下面將通過具體的實施例,詳細介紹根據本發明的針對Web頁面數據提取摘要的方法。根據本發明的一個實施例,所述方法包括:

S1.對用戶向Web頁面的域中輸入的數據,提取域的摘要。

在這個步驟中,可以針對各個域,將所輸入的數據作為摘要算法的輸入。在本發明中可以採用任一現有的摘要算法,例如CRC32或MD5算法。

參考圖2以及圖4中的示例,可以針對網頁1中的全部4個域分別提取摘要,生成與域1、2、3、4分別對應的摘要字符串a、b、c、d。

S2.在生成了域的摘要之後,根據區中所包含的域,對相應的域的摘要提取摘要,以作為區的摘要。

在這個步驟中,可以針對各個區,將所述區包含的域的摘要作為執行摘要算法的輸入,以獲得所述區的摘要。其中,可以針對所述區包含的全部域的摘要提取摘要,也可以僅對所包含的部分域的摘要提取摘要。

根據本發明的一個實施例,如果通過對區中包含的部分域的摘要提取摘要,而非針對用戶輸入區中的全部數據提取摘要,在實現分層次地提取摘要的同時,還可以大大縮減算法的複雜度。然而,應當理解,在區中所輸入的數據量較少的情況下,也可以針對用戶輸入區中的全部數據提取區的摘要。

仍以圖2以及圖4為例,可以將字符串a和b作為摘要算法的輸入,提取區1的摘要e;將字符串c和d作為摘要算法的輸入,提取區2的摘要f。

S3.在生成了區的摘要之後,根據所述Web頁面中所包含的區,對相應的區的摘要提取摘要,以作為頁面的摘要。

根據本發明的一個實施例,與步驟S2相類似,步驟S3同樣通過將頁面中所包含的部分區的摘要用作摘要算法的輸入來生成頁面的摘要,達到縮減算法複雜度的效果。

仍以圖2為例,可以針對字符串e和f提取區1的摘要g。

S4.根據所獲得的域的摘要、區的摘要、頁面的摘要,得到用於檢驗所述Web頁面數據發生的變化的Web摘要。

根據本發明的一個實施例,將在步驟S1-S3中生成的域的摘要、區的摘要、頁面的摘要拼接成一個字符串。

繼續以圖2為例,a、b、c、d、分別為域1、2、3、4的摘要,它們的集合構成了域摘要的字符串s0;區1的摘要e和區2的摘要f構成了區摘要的字符串s1;網頁1的摘要g為字符串s2。所述s0、s1、s2共同組成了Web摘要(即圖中的A)。

在實際使用拼接而成的Web摘要來檢驗Web頁面數據發生的變化時,需要從Web摘要中識別出其中的頁面摘要、區摘要、域摘要的欄位,並且還需要確定頁面、區、域之間的包含關係。下面將通過具體的實施例介紹如何識別出Web摘要中的各個欄位。

根據本發明的一個實施例,在通過摘要算法獲得的摘要為固定長度的情況下,直接將全部頁面摘要、區摘要、域摘要拼接成一個字符串,以作為Web摘要。以採用CRC32算法為例,通過該算法生成的摘要長度均為32比特,可採用8位的十六進位數來表示;參考圖2中的示例,可以生成32位長度的s0、16位長度的s1、8位長度的s2,即總共56位長度的Web摘要(A)。當需要使用該Web摘要時,可以從該Web摘要中每次讀取固定長度的欄位以識別其中的頁面摘要、區摘要、域摘要。因此,採用直接拼接多層次摘要以生成Web摘要的方式,可以在生成Web摘要時所使用的摘要算法的輸出為固定長度、且在使用Web摘要時已知Web摘要中欄位的排列順序的情況下,實現對Web摘要中頁面摘要、區摘要、域摘要的識別。

此種方式的複雜度較低,尤其適用於Web頁面結構相對簡單的情況。對於Web頁面結構較為複雜的情況,更適合採用設置間隔的方式來實現對A中各個欄位的識別。

根據本發明的一個實施例,採用間隔符的方式來間隔頁面摘要、區摘要、域摘要的欄位,將全部頁面摘要、區摘要、域摘要、以及間隔符拼接成一個字符串,以作為Web摘要。以採用空格作為間隔符為例,可以採用一個空格來間隔屬於不同的區的域的摘要欄位,以及間隔屬於不同頁面的區的摘要欄位,採用兩個空格來間隔域的摘要和區的摘要,採用三個空格來間隔區的摘要和頁面的摘要。再次以圖2為例,a、b對應於區1而c、d對應於區2,因此在b、c之間增加一個空格;d屬於域的摘要而e為區的摘要,因此在d、e之間增加兩個空格;類似的,在f、g之間增加三個空格。由此,Web摘要A的字符串應當為:

「ab(空格)cd(空格空格)ef(空格空格空格)g」。

應當理解,在生成Web摘要時,還可以進一步在相鄰的摘要欄位之間增加間隔符,例如,進一步在a、b之間、c、d之間、和e、f之間增加其他間隔符,使得即便各個摘要欄位並非固定長度,也可以正確地區分出不同的摘要欄位。

當需要使用該Web摘要時,可以根據所讀取到的間隔符,例如一個空格、兩個空格、或三個空格等,確定正在讀取的欄位屬於哪一層次的摘要欄位,以及區分出屬於相同層次的摘要欄位。

採用設置間隔符的方式來生成Web摘要,可以在使用Web摘要時已知Web摘要中欄位的排列順序的情況下,實現對Web摘要中頁面摘要、區摘要、域摘要的識別。

根據本發明的進一步的實施例,還提供了一種基於間隔的Web摘要生成方式,使得在使用Web摘要時即便不知道Web摘要中欄位的排列順序,也能實現對Web摘要中頁面摘要、區摘要、域摘要的識別。在該實施例中,針對每個域和/或區和/或頁面的摘要欄位設置其層屬關係的標識(這裡的層屬關係指的是域、區、頁面之間的包含關係,例如一個域屬於哪個區及哪個頁面,一個區屬於哪個頁面),將全部頁面摘要、區摘要、域摘要、以及相應的標識拼接成一個字符串,以作為Web摘要。其中,針對域所設置的標識可以採用用於標識該域的編號、該域所屬區和所屬網頁的ID,針對區所設置的標識可以採用用於標識該區的編號、該區所屬網頁的ID,針對頁面所設置的表述可以採用用於標識該頁面的編號。在圖4中示出了針對域設置的ID的示例,可以看出域1處於網頁1的區1中,為域1所設置的ID為d1s1p1(即domain 1section 1page 1),表示表示域1為頁1的區1中編號為1的域,並且域2、3、4也採用類似的方式設置了ID值,同樣也可以為區1設置ID值s1p1,為區2設置ID值s2p1,為頁面1設置ID值p1(圖中未示出)。參考圖2,可以將圖4中的上述ID值設置在Web摘要(A)中每個域的摘要欄位之前或之後,例如,將Web摘要(A)設置為:

「a(d1s1p1)b(d2s1p1)c(d3s2p1)d(d3s2p1)e(s1p1)f(s2p1)g(p1)」。

當需要使用該Web摘要時,可以根據所讀取到的ID值,確定摘要欄位的身份,以及頁面、區、域之間的所述關係。

採用設置層屬關係的標識的方式來生成Web摘要,可以應對任意複雜程度的Web頁面結構,並且不必向使用該Web摘要對數據進行驗證的一方傳遞任何有關欄位排列順序的信息,便可以實現對Web摘要中頁面摘要、區摘要、域摘要的識別。此種生成Web摘要方式,可以採用任意順序排列其中的各個摘要欄位,相較於前述實施例的方案其具有更高靈活性和安全性。

在採用通過該實施例生成的Web摘要對數據進行一致性驗證時,還應當在對用戶輸入Web頁面的數據進行上傳時,將上述針對各個域和/或區和/或頁面設置的標識與所述數據之間的對應關係一併上傳,具體的驗證方法將在下述實施例中詳細介紹。此外,根據本發明的其他實施例,還可以將上述對域和/或區和/或頁面進行標識的方式與上述採用間隔符的方式相結合。

下面將通過具體的實施例詳細介紹根據本發明的驗證Web頁面所上傳數據的變化的方法,採用下述方法可以驗證當再次訪問數據時,該數據是否發生改變,以及在發生改變時,對發生改變的部分進行定位、判斷數據是否出現順序錯亂。

參考圖3,所述方法包括:

步驟1.接收用戶針對Web頁面所輸入的數據。

步驟2.針對Web頁面的結構,對用戶輸入的數據分層次地生成Web摘要(例如圖2示出的摘要A)。可以採用本發明的上述任意實施例中的方案來生成Web摘要A。應當理解,根據需要,在本發明中還可以僅執行針對域和區、或僅針對域和頁面、或僅針對區和頁面來提取摘要,以及可以僅針對用戶填寫到Web頁面的數據中的部分來提取摘要,以進一步降低方法的複雜度。

步驟3.根據本地的密鑰,將所生成的Web摘要(即圖2中的A)加密為密文。所述本地的密鑰可以是用戶輸入的密碼,也可以是由本地應用生成的密碼,本地密鑰將不會被上傳至伺服器。通過加密,可以保證所生成的摘要的安全性。

步驟4.將用戶針對Web頁面所輸入的數據上傳至伺服器。

根據本發明的一個實施例,對於在步驟2中採用上述直接拼接摘要欄位作為Web摘要(A)的方案,在步驟4中,將Web摘要(A)中欄位的排列順序、以及Web頁面結構的層屬關係上傳至伺服器。例如參考圖2,將Web摘要A的欄位順序即域1、域2、域3、域4、區1、區2、頁面1,以及域1、2屬於區1、域3、4屬於區2、區1、2屬於頁面1的層屬關係,以及每次讀取摘要欄位的長度8位,上傳並保存在伺服器上。

根據本發明的另一個實施例,對於在步驟2中採用上述在Web摘要(A)中設置間隔符的方案,在步驟4中,將Web摘要(A)中欄位的排列順序上傳至伺服器。例如參考圖2,將Web摘要A的欄位順序即域1、域2、域3、域4、區1、區2、頁面1,以及所採用的各個間隔符的含義,例如採用一個空格、兩個空格、三個空格等分別用於間隔哪些欄位,上傳並保存在伺服器上。

根據本發明的再一個實施例,對於在步驟2中採用上述在Web摘要(A)中設置ID的方案,在步驟4中,將相應的ID與域和/或區和/或頁面的對應關係上傳至伺服器,例如參考圖2和圖4,在用戶輸入域1的數據中增加d1s1p1的ID,將該ID隨數據一併上傳至伺服器,相應地對用戶輸入其他域和/或區和/或頁面的數據也增加對應的ID。

在此步驟4中,可以將所述密文也上傳至伺服器,也可以針對用戶再次登錄時使用同一臺電腦的情況而僅將Web摘要(A)或其密文保存在本地。

在完成了上述步驟1-4之後,便完成了對用戶所輸入的數據進行提取摘要以及將用戶所輸入的數據上傳至伺服器的步驟。

接下來,將介紹採用本發明的方法來判斷所期望再次訪問的數據發生了何種改變。

步驟5.從伺服器獲取用戶針對Web頁面所輸入的至少部分數據。根據本發明的一個實施例,這裡不必下載全部數據,可以僅獲取需要訪問的數據內容。在密文也被上傳至伺服器中的情況下,從伺服器下載所述密文。

步驟6.採用本地的密鑰,對密文進行解密,還原出Web摘要(即圖2所示出的摘要A』)(在沒有將密文上傳至伺服器的情況下,獲取Web摘要A)。

步驟7.採用與步驟2中相同的提取摘要的規則,對在步驟5中從伺服器獲取的所述數據提取摘要,以獲得圖2所示出的摘要B。

這裡所述相同的提取規則指的是,與在生成Web摘要(A)時,步驟5中所獲取的數據相對應的部分的規則。例如,參考圖2,根據需要,僅從伺服器下載了與域1對應的數據,則在步驟7中採用與生成摘要a相同的規則對所下載的數據提取摘要a』,並將摘要a』作為生成的摘要B。

步驟8.將Web摘要A』(或A)與摘要B進行比對,以確定所述數據發生了何種改變。

為了進行比對,應當首先從Web摘要A』(或A)中識別出其中的頁面摘要、區摘要、域摘要的欄位,並且確定頁面、區、域之間的包含關係。

根據本發明的一個實施例,對於在步驟2中採用上述直接拼接摘要欄位作為Web摘要(A)的方案,在步驟8中,根據Web摘要A』(或A)中欄位的排列順序,每次讀取固定長度的摘要欄位,識別出Web摘要A』(或A)中的頁面摘要、區摘要、域摘要。以圖2為例,逐次讀取8位欄位,首先讀取Web摘要A中後8位欄位作為網頁1的摘要g,繼續讀取其餘欄位中的後8位欄位作為區2的摘要f,以及繼續讀取區1的摘要e、域4的摘要d,依次類推,從而確定全部摘要欄位a-g。

根據本發明的一個實施例,對於在步驟2中採用上述在Web摘要(A)中設置間隔符的方案,在步驟8中,通過讀取到的間隔符,以及根據Web摘要A』(或A)中欄位的排列順序,識別出Web摘要A』(或A)中的頁面摘要、區摘要、域摘要。

以圖2為例,假設Web摘要A的字符串為:「ab(空格)cd(空格空格)ef(空格空格空格)g」,並且在生成該Web摘要時採用CRC32算法。則在讀取該Web摘要A時,首先將讀取的後8位欄位作為網頁1的摘要g;在讀到三個連續的空格時,確定隨後的欄位對應於區的摘要,繼續讀取其餘欄位中的後8位欄位作為區1的摘要f,以及隨後的8位作為區2的摘要e;類似地,在讀到兩個連續的空格時,確定隨後的欄位對應於域的摘要,同樣地通過讀取每8位欄位來確定域4的摘要d和域3的摘要c,在沒有讀取到單獨的一個空格時,確定d和c對應於區2,當讀取到單獨的一個空格時,確定隨後的域摘要b和a對應於區1。

同樣以圖2為例,假設Web摘要A的字符串為:「a(#)b(空格)c(#)d(空格空格)e(#)f(空格空格空格)g」。則在讀取該Web摘要A時,從該Web摘要的末位往前讀取,將遇到第一個間隔符即連續的三個空格之前的內容作為網頁1的摘要g;將在其餘欄位中遇到第二個間隔符即#之前的內容作為區1的摘要f,將在遇到連續的兩個空格之前的內容作為區2的摘要e;類似地,分別根據間隔符確定域4、3、2、1的摘要d、c、b、a。

根據本發明的一個實施例,對於在步驟2中採用上述在Web摘要(A)中設置ID的方案,在步驟8中,通過讀取到的ID,識別出Web摘要A』(或A)中的頁面摘要、區摘要、域摘要,以及Web頁面結構的層屬關係。

參考圖2和圖4,假設Web摘要A的字符串為:「a(d1s1p1)b(d2s1p1)c(d3s2p1)d(d3s2p1)e(s1p1)f(s2p1)g(p1)」。則在讀取該Web摘要A時,從該Web摘要的末位往前讀取,根據讀取到的標識p1確定哪些欄位屬於g,並且g是頁面1的摘要,類似地,讀取區2、1、域4、3、2、1的摘要欄位f、e、d、c、b、a,以及區1、2屬於頁面1,域3、4屬於區2,域1、2屬於區1。

在通過上述實施例的方式,確定Web摘要A』(或A)中的頁面摘要、區摘要、域摘要的欄位,以及確定頁面、區、域之間的包含關係之後,可以將摘要B與所述Web摘要A』(或A)進行比對。通過比對,定位到發生錯誤的區和/或域,以及是否出現數據的順序發生錯亂的情況。

下面將繼續參考圖2,介紹進行比對的方法。如圖2所示,其中a』、b』、c』、d』、e』、f』、g』為在摘要B中的域1、2、3、4的摘要、區1、2的摘要、以及網頁1的摘要,分別與Web摘要A』(或A)中的a、b、c、d、e、f、g相對應。

在進行比對時,首先對Web摘要A』(或A)與摘要B進行直接比對:

如果g=g』,則認為用戶數據沒發生改變,停止校驗,並向用戶報告數據未發生異常;

如果g≠g』,則進一步比較網頁1中的區摘要,

若f≠f』,則進一步比較區2中的域摘要,

若d≠d』,則向用戶報告網頁1區2域4中的數據發生異常,

若c≠c』,則向用戶報告網頁1區2域3中的數據發生異常,

若e≠e』,則進一步比較區1中的域摘要,

若b≠b』,則向用戶報告網頁1區1域2中的數據發生異常,

若a≠a』,則向用戶報告網頁1區1域1中的數據發生異常。

在進行比對時,除上述直接比對之外,還可以在數據發生異常的情況下,進一步進行交叉比較:

如果f≠f』並且e≠e』,則進行以下比較:

若e=f』且f=e』,則向用戶報告區1的數據和區2的數據發生順序錯亂;

若a=c』且c=a』,則向用戶報告區1域1部分的數據和區2域3部分的數據發生順序錯亂;

若a=d』且d=a』,則向用戶報告區1域1部分的數據和區2域4部分的數據發生順序錯亂;

若b=c』且c=b』,則向用戶報告區1域2部分的數據和區2域3部分的數據發生順序錯亂;

若b=d』且d=b』,則向用戶報告區1域2部分的數據和區2域4部分的數據發生順序錯亂;

若a=b』且b=a』,則向用戶報告區1域1部分的數據和區1域2部分的數據發生順序錯亂;

若c=d』且d=c』,則向用戶報告區2域3部分的數據和區2域4部分的數據發生順序錯亂;

如果f≠f』並且e=e』,則進行以下比較:

若c=d』且d=c』,則向用戶報告區2域3部分的數據和區2域4部分的數據發生順序錯亂;

若c=d』且d≠c』,則向用戶報告原本位於區2域3部分的數據被更改到區2域4的位置,並且區2域3部分的數據在順序發生錯亂後又發生了篡改;

若d=c』且c≠d』,則向用戶報告原本位於區2域4部分的數據被更改到區2域3的位置,並且區2域4部分的數據在順序發生錯亂後又發生了篡改;

如果f=f』並且e≠e』,則進行以下比較:

若a=b』且b=a』,則向用戶報告區1域1部分的數據和區1域2部分的數據發生順序錯亂;

若a=b』且b≠a』,則向用戶報告原本位於區1域1部分的數據被更改到區1域2的位置,並且區1域2部分的數據在順序發生錯亂後又發生了篡改;

若b=a』且a≠b』,則向用戶報告原本位於區1域2部分的數據被更改到區1域1的位置,並且區1域1部分的數據在順序發生錯亂後又發生了篡改。

通過步驟8中的上述比對,可以向用戶報告從伺服器所下載的數據相較於用戶原本輸入Web頁面的數據發生了何種改變。

在本發明的上述實施例中,採用本地的密鑰對摘要進行加密,所述密鑰不被上傳至伺服器,使得不存在因上傳伺服器而導致摘要洩露或摘要被篡改的問題。

下面以採用上述在Web摘要(A)中設置ID的方案為例,通過一個完整的實例詳細介紹對數據進行驗證的方法。假設,參考圖4,用戶針對Web頁面的域1、2、3、4分別輸入了:姓名、年齡、電話號碼、性別,所輸入的數據內容為「張三」、「23」、「8888888」、「男」。根據用戶所輸入的內容,提取Web摘要A,「a(d1s1p1)b(d2s1p1)c(d3s2p1)d(d3s2p1)e(s1p1)f(s2p1)g(p1)」。將用戶輸入的數據及相應的標識「張三d1s1p1 23d2s1p1 8888888d3s2p1男d4s2p1」上傳至伺服器。當需要再次訪問數據時,根據需要僅下載「張三d1s1p1」、「8888888d3s2p1」、和「男d4s2p1」。對下載的數據提取摘要,例如對「張三」提取摘要獲得「a』」,相應地對「8888888」和「男」提取摘要「c』」和「d』」,作為摘要B(參考圖2,a』、c』、d』是摘要B的一部分)。讀取Web摘要A的內容,將Web摘要A中與標識「d1s1p1」、「d3s2p1」、「d3s2p1」相對應的摘要欄位「a」、「b」、「c」與通過對下載數據進行摘要提取而獲得的「a』」、「b』」、「c』」進行直接比對以及交叉對比,從而驗證姓名數據是否發生了改變。

根據本發明的上述方法,對於採用設置ID而生成Web摘要A的方案,尤其適用於針對用戶輸入的數據需要在不同結構的Web頁面之間進行傳遞和展示的情況。這是由於再次訪問數據的Web頁面可能僅需下載部分數據,其展示數據的方式也可能不同於用戶首次輸入數據所採用的Web頁面。該方案使得需要訪問數據的Web頁面可以從伺服器處僅獲取需要展示的那一部分數據,並根據需要將獲取的數據展示在相應的位置上。

除上述方法之外,本發明還提供了一種檢驗Web頁面所上傳數據的變化的裝置。如圖5所示,根據本發明的裝置,包括:層次加密上傳模塊11,和驗證模塊12。

所述層次加密上傳模塊11,用於針對Web頁面的結構分層次地提取摘要(A),以及將用戶輸入Web頁面的數據上傳至伺服器。所述層次加密上傳模塊11還被用於採用本地密鑰對所述摘要(A)進行加密,以將加密後的密文上傳至伺服器。如前文所述,在本發明中可以採用上述方法,按照域、區、Web頁面這幾個層次逐步地來生成摘要。例如,可以針對每個域將用戶輸入的數據作為摘要算法的輸入,生成能夠代表該域中所輸入數據特點的摘要s0;將一個區中的全部多個域的摘要作為摘要算法的輸入,生成代表該區的摘要s1;將一個Web頁面中的全部多個區的摘要作為摘要算法的輸入,生成代表該Web頁面的摘要s2;最後,將s0、s1和s2拼接成一個字符串,以進行加密和上傳。

所述層次加密上傳模塊11可以包括以下幾個子模塊。

提取摘要模塊111,用於根據用戶填寫的數據處於Web頁面上的位置,生成針對域的摘要s0,針對區的摘要s1以及針對頁面的摘要s2。在本發明中,所述提取摘要模塊111還可以將所述摘要s0、s1和s2拼接成一個字符串A,例如A=s0s1s2。應當理解,根據需要,所述提取摘要模塊111可以僅針對域提取摘要,或僅針對域和區提取摘要,或僅針對域和頁面提取摘要,或僅針對區和頁面提取摘要,以及可以僅針對用戶填寫的數據中的部分來提取摘要。

摘要加密模塊112,用於採用本地密鑰對由提取摘要模塊111生成的摘要進行加密,以生成密文。所述本地密鑰可以是由用戶輸入的密碼,也可以是由本地應用生成的密碼,本地密鑰將不會被上傳至伺服器。進行加密的方式可以是任意現有的對稱加密算法,只有採用密鑰才可以將經過加密的密文還原為摘要。通過加密,可以保證所生成的摘要的安全性。

如前文所述,在本發明中既可以將摘要與用戶數據一起上傳至伺服器,也可以不將所述摘要上傳至伺服器,而僅將其保存在本地。對於將摘要保存在本地的情況,也可以不設置摘要加密模塊112。

上傳模塊113,用於將用戶填寫的數據上傳至伺服器。所述上傳模塊113還可以用於將由摘要加密模塊112生成的密文上傳至伺服器。應當理解,優選地將所述數據與所述密文分開上傳或分開保存至不同的伺服器,例如,將所述密文上傳至管理員無修改權限的伺服器中,以保證密文儘可能地不發生改變。

除上述層次加密上傳模塊11之外,本發明的裝置還包括驗證模塊12。

所述驗證模塊12,用於在用戶再次訪問上傳至伺服器的數據時,對從伺服器取回的數據提取摘要(B),並將與上傳至伺服器時的數據對應的摘要(A)進行比對,以檢驗所取回的數據發生的變化。所述驗證模塊12提取的摘要B優選地採用與所述摘要A相同的摘要提取規則,應當理解在從伺服器取回的數據為用戶上傳數據的子集時,可以僅採用與所下載數據部分相對應的摘要提取規則。並且,在所述層次加密上傳模塊11將對摘要A加密後的密文上傳至伺服器的情況下,所述驗證模塊12還用於對從伺服器取回的密文進行解密,以獲得摘要(A』),並將摘要B與摘要A』進行比對,以檢驗所取回的數據發生的變化。

所述驗證模塊12可以包括以下幾個子模塊。

下載模塊121,用於從伺服器取回用戶填寫進Web頁面的數據;以及,在對摘要A進行加密的密文上傳至伺服器的情況下,用於從伺服器取回所述密文。

摘要解密模塊122,用於在摘要經過加密的情況下,採用本地密鑰對密文進行解密,以獲得摘要A』(在沒有將密文上傳至伺服器的情況下,解密獲得摘要A)。

摘要重提取模塊123,用於根據與所述提取摘要模塊111中相同的提取摘要的規則,對由下載模塊121取回的用戶填寫進Web頁面的數據提取摘要B。

檢驗一致性模塊124,用於將所述摘要A』(在沒有將摘要上傳至至伺服器的情況下,將所述摘要A)與由所述摘要重提取模塊123生成的所述摘要B進行比對,並根據所述摘要A』(或A)和所述摘要B的一致性來確定上傳的數據發生了何種變化。當A』≠B時,可以分層次地對A』和B進行比對,並根據不一致的欄位所代表的在Web頁面中的位置,來判斷上傳的數據發生了何種變化。

假設,A』=s0s1s2,其中s0、s1和s2分別表示Web頁面的域摘要、區摘要和頁面摘要;B=s0’s1’s2』,其中s0』、s1』和s2』分別表示Web頁面的域摘要、區摘要和頁面摘要。圖2示出了A』和B的字符串示意圖,參考前一實施例中的所述方法,可以對A』和B中的頁面1的摘要、區1、2的摘要、域1、2、3、4的摘要進行直接比對以及交叉比對,從而確定上傳的數據發生了何種變化。

通過這樣的比對,可以利用所述檢驗一致性模塊124定位發生異常數據所處的位置,以及檢測數據的順序是否發生了錯亂。

通過上述實施例可以看出,本發明通過根據網頁的結構,分層次地對用戶輸入網頁的數據提取摘要,使得在通過伺服器再次訪問用戶所輸入數據時,可以利用所提取的摘要確定網頁中的哪一部分數據發生了改變,以及數據的位置是否發生了更改,同時,即使需要用戶數據在不同web頁面上進行傳遞和展示或是只需要部分特定用戶數據的情況下,本發明依舊有效。由此,為用戶數據的一致性與完整性驗證提供了支持,使得更容易發現黑客惡意篡改的痕跡,以及由管理員誤操作導致的用戶數據改變。並且,本發明還對摘要部分進行本地加密,來提高摘要的安全性。根據本發明的方案,即便是在用戶輸入大量數據的情況下,也可以迅速地向用戶報告數據發生了何種改變。

最後所應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,例如本發明並不限制向所述Web頁面輸入數據的方式,除用戶手動輸入之外,還可以採用諸如自動讀取數據的方式進行數據的輸入。儘管上文參照實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,對本發明的技術方案進行修改或者等同替換,都不脫離本發明技術方案的精神和範圍,其均應涵蓋在本發明的權利要求範圍當中。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀