本發(fā)明涉及網(wǎng)絡數(shù)據(jù)安全與管理,特別是一種基于saas的服務端網(wǎng)站cookie掃描方法及系統(tǒng)。
背景技術:
1、隨著互聯(lián)網(wǎng)技術的不斷發(fā)展,用戶隱私保護和數(shù)據(jù)安全成為全球范圍內的重要議題,尤其是在《通用數(shù)據(jù)保護條例》和《個人信息保護法》等法律法規(guī)相繼出臺后,用戶數(shù)據(jù)的收集和使用受到了更加嚴格的監(jiān)管,cookie作為一種廣泛用于網(wǎng)絡用戶身份識別和行為跟蹤的技術,其使用和管理的合法性與透明度日益受到重視。當前互聯(lián)網(wǎng)行業(yè)所使用的各類個人設備識別號,包括cookie?id,都屬于個人信息。使用這類信息用于營銷,都需要明確獲得個人授權。通過對名下已有網(wǎng)站進行掃描,識別網(wǎng)站使用過程中產生的各種主動和第三方的cookie,并對cookie進行分類治理,是網(wǎng)站合規(guī)的第一步。
2、現(xiàn)有的cookie掃描技術主要分為兩類:主動掃描和被動掃描?,F(xiàn)有的一些成熟的網(wǎng)站cookie掃描產品,如mozilla?observatory,onetrust等。從功能上均支持主動掃描,即用戶輸入待掃描域名后,掃描工具自動完成后續(xù)的鏈接爬取和cookie掃描功能。主動掃描通常通過爬蟲程序遍歷網(wǎng)頁,抓取并分析頁面中存在的cookie信息,然而,主動掃描難以應對復雜的用戶交互場景,如javascript生成的動態(tài)內容或需要用戶輸入的交互行為。也有基于被動掃描的方案,如xray,支持通過配置代理服務器的方式,將訪問網(wǎng)站的流量提交給掃描器掃描。被動掃描則通過代理服務器捕獲用戶訪問網(wǎng)站時的流量,提取其中的cookie信息,盡管能夠獲取用戶實際操作時的cookie,但這一方法對用戶的技術要求較高,并且無法直接集成到saas平臺中,限制了其應用的廣泛性。
3、當前的cookie掃描工具在應對現(xiàn)代復雜網(wǎng)頁時存在諸多局限性,難以滿足需要用戶交互場景下的cookie掃描難題:現(xiàn)有的主動掃描工具難以模擬真實用戶的行為,導致許多關鍵的cookie無法被捕獲,主動掃描難以模擬真實用戶的完整行為,例如需要短信驗證碼的登錄,注冊等行為,是難以通過鏈接爬取,或者爬蟲模擬點擊的方式完成的,對于javascript渲染的單頁面應用(spa),難以有效的發(fā)現(xiàn)需要用戶交互后產生的cookie;被動掃描雖然能夠通過捕獲流量來獲取更全面的cookie信息,但其復雜的配置和操作流程使得非技術用戶難以使用,被動掃描對使用者技術要求比較高,需要安裝根證書,配置代理服務器等一系列操作。無法作為saas服務,便利的提供給用戶使用。傳統(tǒng)的掃描方式在捕獲和跟蹤動態(tài)加載的內容和生成cookie方面還有待改進,如何有效區(qū)分并管理這些cookie,成為一個亟待解決的問題。
技術實現(xiàn)思路
1、鑒于上述現(xiàn)有的基于saas的交互式服務端網(wǎng)站cookie掃描方法及系統(tǒng)中存在的問題,提出了本發(fā)明。
2、因此,本發(fā)明所要解決的問題在于,現(xiàn)有基于saas架構的cookie管理技術,通常無法有效應對復雜的用戶交互和動態(tài)內容生成問題。
3、為解決上述技術問題,本發(fā)明提供如下技術方案:一種基于saas的交互式服務端網(wǎng)站cookie掃描方法,其包括,
4、基于saas架構構建服務端網(wǎng)站cookie掃描系統(tǒng);
5、在網(wǎng)頁注入鉤子腳本并監(jiān)聽響應頭信息,捕獲所有設置的cookie信息;
6、捕獲cookie信息后抓取網(wǎng)頁的dom結構并生成dom快照,監(jiān)控dom結構的變化并重繪頁面;
7、收集用戶的交互行為并上傳至服務端,更新dom和cookie并傳回客戶端;
8、根據(jù)來源分類存儲cookie,并在界面展示和管理。
9、作為本發(fā)明所述基于saas的交互式服務端網(wǎng)站cookie掃描方法的一種優(yōu)選方案,其中:所述基于saas架構構建服務端網(wǎng)站cookie掃描系統(tǒng)包括,
10、選擇使用saas架構,配置并啟動electron掃描器內核;
11、使用虛擬幀緩沖區(qū)xvfb模擬顯示設備,配置xvfb的分辨率和色深;
12、將electron掃描器內核配置為headless模式,指定使用xvfb作為顯示輸出,并開放調試端口,啟動遠程調試;
13、將配置好的electron掃描器內核封裝至容器,并通過kubernetes進行部署與管理。
14、作為本發(fā)明所述基于saas的交互式服務端網(wǎng)站cookie掃描方法的一種優(yōu)選方案,其中:所述將配置好的electron掃描器內核封裝至容器,并通過kubernetes進行部署與管理指在dockerfile中定義容器的基礎鏡像、依賴項、electron掃描器內核和xvfb的配置和啟動命令;
15、從開發(fā)者的代碼庫中收集electron掃描器內核、鉤子腳本、mutationobserver監(jiān)聽器、api、kubernetes的監(jiān)控和管理工具的代碼并復制到容器中,使用kubernetes容器編排工具對容器進行啟動、停止、擴展和監(jiān)控管理;
16、根據(jù)業(yè)務需求動態(tài)調整容器的數(shù)量和資源分配;
17、創(chuàng)建容器鏡像,每個容器鏡像包括應用程序的代碼、運行環(huán)境和依賴項,并將容器鏡像保存到鏡像倉庫中;
18、編寫kubernetes配置文件,使用kubernetes命令行工具根據(jù)配置文件將容器鏡像部署到kubernetes集群中;
19、在部署完成后,通過kubernetes的監(jiān)控和管理工具實時監(jiān)控服務端網(wǎng)站cookie掃描系統(tǒng)的運行狀態(tài);
20、在代碼庫中設置觸發(fā)器,若代碼提交到主分支,則自動啟動ci/cd工具,在每次代碼更新后,服務端網(wǎng)站cookie掃描系統(tǒng)自動構建新的容器鏡像到鏡像倉庫,并部署到kubernetes集群中。
21、作為本發(fā)明所述基于saas的交互式服務端網(wǎng)站cookie掃描方法的一種優(yōu)選方案,其中:所述在網(wǎng)頁注入鉤子腳本并監(jiān)聽響應頭信息,捕獲所有設置的cookie信息指當electron掃描器內核加載網(wǎng)頁時,自動注入鉤子腳本,將cookie記錄并存儲;
22、在electron掃描器內核啟動后,選用http請求與響應攔截技術,實時監(jiān)控并捕獲所有http響應頭信息,從http響應頭信息中提取`set-cookie`字段的cookie并進行存儲;
23、將每個cookie存儲在關系型數(shù)據(jù)庫的表中,表的內容包括cookie名稱、值、域名、路徑、過期時間和cookie來源;
24、當捕獲到新的cookie后,自動將新的cookie插入關系型數(shù)據(jù)庫中進行存儲,并自動執(zhí)行數(shù)據(jù)校驗。
25、作為本發(fā)明所述基于saas的交互式服務端網(wǎng)站cookie掃描方法的一種優(yōu)選方案,其中:所述捕獲cookie信息后抓取網(wǎng)頁的dom結構并生成dom快照,監(jiān)控dom結構的變化并重繪頁面指捕獲cookie信息后,首次抓取整個頁面的dom結構并生成dom快照,dom將網(wǎng)頁結構化為樹形結構,其中每個節(jié)點數(shù)據(jù)代表網(wǎng)頁的一部分,包括html標簽、屬性和文本;
26、對初次捕獲的dom快照使用`gzip`算法進行壓縮處理;
27、利用mutationobserver監(jiān)控器在electron掃描器內核監(jiān)控dom結構的變化,記錄變化的節(jié)點數(shù)據(jù),對變化的節(jié)點數(shù)據(jù)進行序列化并通過網(wǎng)絡傳輸?shù)娇蛻舳耍?/p>
28、客戶端瀏覽器接收變化的節(jié)點數(shù)據(jù)后,使用dom快照和變化的節(jié)點數(shù)據(jù)重繪頁面;
29、在初次dom快照傳輸完成后,繼續(xù)使用mutationobserver監(jiān)控器在electron掃描器內核中持續(xù)監(jiān)控dom結構的變化;
30、在每次傳輸變化的節(jié)點數(shù)據(jù)時,采用時間戳與頁面標識符結合的方式,為每個dom快照創(chuàng)建唯一的版本號;
31、在客戶端瀏覽器中,對dom快照進行緩存,通過使用lru算法,根據(jù)版本號的時間戳,優(yōu)先淘汰最久未被訪問的快照版本。
32、作為本發(fā)明所述基于saas的交互式服務端網(wǎng)站cookie掃描方法的一種優(yōu)選方案,其中:所述收集用戶的交互行為并上傳至服務端,更新dom和cookie并傳回客戶端指使用javascript接口收集用戶的所有交互行為,包括鼠標點擊、表單輸入和頁面滾動;
33、將收集到的交互行為封裝成json數(shù)據(jù),利用`xmlhttprequest`發(fā)送至服務端api網(wǎng)關;
34、服務端接收到交互行為后,解析json數(shù)據(jù),并通過electron?api將操作指令發(fā)送給渲染進程,渲染進程通過javascript接口找到網(wǎng)頁中的對應dom節(jié)點數(shù)據(jù),并執(zhí)行相應的操作,執(zhí)行操作后,electron掃描器內核生成新的dom快照,并重新抓取最新的cookie通過api網(wǎng)關傳回客戶端,更新頁面并展示新的cookie。
35、作為本發(fā)明所述基于saas的交互式服務端網(wǎng)站cookie掃描方法的一種優(yōu)選方案,其中:所述根據(jù)來源分類存儲cookie,并在界面展示和管理指根據(jù)客戶端和服務端的不同來源,將cookie分為客戶端設置和服務端設置,初始化數(shù)據(jù)結構,數(shù)據(jù)結構采用哈希表形式存儲不同類型的cookie;
36、設置用戶界面,將界面分為客戶端展示區(qū)域和服務端展示區(qū)域展示分類后的cookie,在展示區(qū)域提供cookie的排序和篩選功能。
37、本發(fā)明的另外一個目的是提供一種基于saas的交互式服務端網(wǎng)站cookie掃描系統(tǒng),其包括,
38、構建系統(tǒng)模塊,用于基于saas架構構建服務端網(wǎng)站cookie掃描系統(tǒng);
39、cookie捕獲模塊,用于在網(wǎng)頁注入鉤子腳本并監(jiān)聽響應頭信息,捕獲所有設置的cookie信息;
40、dom快照與重繪模塊,用于捕獲cookie信息后抓取網(wǎng)頁的dom結構并生成dom快照,監(jiān)控dom結構的變化并重繪頁面;
41、用戶交互模塊,用于收集用戶的交互行為并上傳至服務端,更新dom和cookie并傳回客戶端;
42、存儲展示模塊,用于根據(jù)來源分類存儲cookie,并在界面展示和管理。
43、一種計算機設備,包括:存儲器和處理器;所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述基于saas的交互式服務端網(wǎng)站cookie掃描方法的步驟。
44、一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述基于saas的交互式服務端網(wǎng)站cookie掃描方法的步驟。
45、本發(fā)明有益效果為:通過采用saas架構,結合electron掃描器內核的容器化部署與kubernetes管理,顯著提升了跨平臺運行效率和自動化運維能力,通過在網(wǎng)頁中注入鉤子腳本和監(jiān)聽http響應頭信息,能夠全面捕獲并管理客戶端和服務端設置的cookie信息,監(jiān)控dom結構的變化并傳輸變化節(jié)點數(shù)據(jù)的機制,實現(xiàn)了頁面的實時重繪與動態(tài)更新。本技術技術方案支持通過遠程操控的方式,聯(lián)動服務端,實現(xiàn)交互式掃描網(wǎng)站的cookie。