統(tǒng)一資源定位符去重方法及裝置的制造方法
【技術領域】
[0001] 本發(fā)明涉及網(wǎng)絡技術領域,特別涉及一種統(tǒng)一資源定位符去重方法及裝置,以及 相應的去重規(guī)則生成方法及裝置。
【背景技術】
[0002] URLRewrite是互聯(lián)網(wǎng)中一種對URL(UniformResourceLocator,統(tǒng)一資源定位 符)進行重寫的技術,它首先獲得用戶端發(fā)送來的訪問網(wǎng)站的URL請求,然后把它重新寫成 網(wǎng)站可以處理的另一個URL,用戶得到的是經(jīng)過處理后的URL地址的返回內容。
[0003] 舉例來說,許多新聞網(wǎng)站上的新聞有很多個類別,比如體育、科技等,且每天都有 新的新聞發(fā)布,也就是按日期分類,而這些每天的新聞下邊還有新聞索引ID。用戶端訪問 一個體育類的新聞頁面時,網(wǎng)站服務器接收到訪問請求后,會通過CGI(CommonGateway Interface,通用網(wǎng)管接口)形成一個中間URL地址來統(tǒng)一訪問后臺數(shù)據(jù),如公式(1)所示:
[0004] http://www. qq. com/news/getNews?type=sports&date=20131120&id=l (1)
[0005] 而像公式(1)這樣的中間URL結構有居多缺點:不易記憶,不易閱讀,在手機、平板 電腦等移動終端上不便傳播等。因此,許多網(wǎng)站服務器會通過URL重寫技術將該中間URL 結構重寫成如公式(2)的形式:
[0006] http://www.qq.com/news/sports/20131120/Lhtml (2)
[0007] 公式(2)的這種URL結構克服了公式(1)那種中間URL的缺點,使得URL更短,更 容易閱讀記憶,同時方便傳播。
[0008] 但是,URL重寫技術帶來居多好處的同時,也導致了這樣一個現(xiàn)象:一個動態(tài)CGI 會被多個URL重寫,導致一個網(wǎng)址的URL數(shù)量劇增。例如,公式(1)中的分段參數(shù)包括 "getNeWS?typ e"、"date"和"id";現(xiàn)假設用戶端訪問一個科技類的新聞頁面,公式(3)是通 過CGI構成的中間URL地址:
[0009] http://www. qq. com/news/getNews?type=science&date=20131121&id=2 (3)
[0010] 可以看到,公式(3)中的分段參數(shù)同樣包括"getNeWS?type"、"date"和" id",不同 的僅是各個分段參數(shù)的值,所以公式(3)和公式(1)這兩個中間RUL地址實質上是通過同一 個動態(tài)CGI生成的。公式(4 )是公式(3 )通過URL重寫技術重寫后的URL地址:
[0011] http://www.qq.eom/news/science/20131121/2.html (4)
[0012] 可見,公式(4 )的URL地址和公式(2 )的URL地址是兩個不同的URL地址,所以,通 過一個動態(tài)CGI生成的地址會被重寫成多個URL地址。而這種現(xiàn)象會帶來如下問題:
[0013]在做URL安全漏洞檢測時,由于URL重寫技術可能會將多個URL重寫到一個動態(tài) CGI,對這些URL的安全漏洞檢測,其實檢測的是重寫后的同一個動態(tài)CGI,因而會導致一個 CGI被重復掃描檢測多次。而且,對于大型的網(wǎng)站,由于URL數(shù)量太多,加上一個URL可能會 有多個參數(shù),最終導致URL安全漏洞掃描器對公司業(yè)務安全漏洞的檢測效率極低。同時,重 復掃描檢測同一個動態(tài)CGI,也給公司業(yè)務網(wǎng)站帶來不必要的性能損失和運營成本。
【發(fā)明內容】
[0014] 本發(fā)明實施例的目的是提供一種統(tǒng)一資源定位符去重方法及裝置,以解決URL重 寫技術會使URL安全漏洞檢測的效率降低,以及給網(wǎng)站服務器帶來性能損失和增加運營成 本的問題。
[0015] 本發(fā)明實施例提出一種統(tǒng)一資源定位符去重方法,包括:
[0016] 根據(jù)統(tǒng)一資源定位符的結構預設去重規(guī)則庫,所述去重規(guī)則庫中存放多個去重規(guī) 貝1J,每個去重規(guī)則對應統(tǒng)一資源定位符的不同結構,且所述去重規(guī)則中設置有表示對應統(tǒng) 一資源定位符中重寫過的分段參數(shù)的重寫標識;
[0017] 從網(wǎng)站訪問數(shù)據(jù)中獲取要去重的統(tǒng)一資源定位符數(shù)據(jù);
[0018] 根據(jù)統(tǒng)一資源定位符的結構和分段參數(shù),將所述要去重的統(tǒng)一資源定位符與所述 去重規(guī)則庫中的去重規(guī)則進行匹配;以及
[0019] 將匹配出的與相同去重規(guī)則對應的統(tǒng)一資源定位符進行過濾,并對應每個去重規(guī) 則保留一個統(tǒng)一資源定位符。
[0020] 本發(fā)明實施例還提出一種去重規(guī)則生成方法,包括:
[0021] 獲取要生成去重規(guī)則的域名下的統(tǒng)一資源定位符數(shù)據(jù);
[0022] 對所述獲取的統(tǒng)一資源定位符進行聚類;
[0023] 將聚類后的統(tǒng)一資源定位符按照域名參數(shù)部分、后綴部分、分段數(shù)目部分以及分 段參數(shù)部分進行分割,并形成多條統(tǒng)計信息;
[0024] 獲取經(jīng)過分割后相同結構的統(tǒng)計信息;以及
[0025] 將相同結構的統(tǒng)計信息中值不同的對應分段參數(shù)值替換為重寫標識,并通過替換 過重寫標識的統(tǒng)計信息生成新的去重規(guī)則。
[0026] 本發(fā)明實施例另提出一種去重規(guī)則生成方法,包括:
[0027] 獲取預設的去重規(guī)則庫中已有的去重規(guī)則,所述去重規(guī)則的結構包括域名參數(shù)部 分、后綴部分、分段數(shù)目部分以及重寫規(guī)則部分;
[0028] 獲取要生成去重規(guī)則的域名下的多個統(tǒng)一資源定位符數(shù)據(jù);
[0029] 通過已有的去重規(guī)則的后綴部分和重寫規(guī)則部分,對要生成去重規(guī)則的域名下的 多個統(tǒng)一資源定位符進行匹配;以及
[0030] 當匹配到的統(tǒng)一資源定位符的數(shù)目大于設定的閾值,則將要生成去重規(guī)則的域名 替換對應的去重規(guī)則中的域名參數(shù)部分,并生成新的去重規(guī)則。
[0031] 本發(fā)明實施例提出一種統(tǒng)一資源定位符去重裝置,包括:
[0032] 去重規(guī)則庫設置模塊,用于根據(jù)統(tǒng)一資源定位符的結構預設去重規(guī)則庫,所述去 重規(guī)則庫中存放多個去重規(guī)則,每個去重規(guī)則對應統(tǒng)一資源定位符的不同結構,且所述去 重規(guī)則中設置有表示對應統(tǒng)一資源定位符中重寫過的分段參數(shù)的重寫標識;
[0033] 統(tǒng)一資源定位符抓取模塊,用于從網(wǎng)站訪問數(shù)據(jù)中獲取要去重的統(tǒng)一資源定位符 數(shù)據(jù);
[0034] 匹配模塊,用于根據(jù)統(tǒng)一資源定位符的結構和分段參數(shù),將所述要去重的統(tǒng)一資 源定位符與所述去重規(guī)則庫中的去重規(guī)則進行匹配;以及
[0035] 去重模塊,用于將匹配出的與相同去重規(guī)則對應的統(tǒng)一資源定位符進行過濾,并 對應每個去重規(guī)則保留一個統(tǒng)一資源定位符。
[0036] 本發(fā)明實施例還提出一種去重規(guī)則生成裝置,包括:
[0037] 統(tǒng)一資源定位符獲取模塊,用于獲取要生成去重規(guī)則的域名下的統(tǒng)一資源定位符 數(shù)據(jù);
[0038] 聚類模塊,用于對所述獲取的統(tǒng)一資源定位符進行聚類;
[0039] 分割模塊,用于將聚類后的統(tǒng)一資源定位符按照域名參數(shù)部分、后綴部分、分段數(shù) 目部分以及分段參數(shù)部分進行分割,并形成多條統(tǒng)計信息;
[0040] 統(tǒng)計信息獲取模塊,用于獲取經(jīng)過分割后相同結構的統(tǒng)計信息;以及
[0041] 分段參數(shù)替換模塊,用于將相同結構的統(tǒng)計信息中值不同的對應分段參數(shù)值替換 為重寫標識,并通過替換過重寫標識的統(tǒng)計信息生成新的去重規(guī)則。
[0042] 本發(fā)明實施例另提出一種去重規(guī)則生成裝置,包括:
[0043] 去重規(guī)則獲取模塊,用于獲取預設的去重規(guī)則庫中已有的去重規(guī)則,所述去重規(guī) 則的結構包括域名參數(shù)部分、后綴部分、分段數(shù)目部分以及重寫規(guī)則部分;
[0044] 統(tǒng)一資源定位符獲取模塊,用于獲取要生成去重規(guī)則的域名下的多個統(tǒng)一資源定 位符數(shù)據(jù);
[0045] 后綴和重寫規(guī)則匹配模塊,用于通過已有的去重規(guī)則的后綴部分和重寫規(guī)則部 分,對要生成去重規(guī)則的域名下的多個統(tǒng)一資源定位符進行匹配;以及
[0046] 域名參數(shù)替換模塊,用于當匹配到的統(tǒng)一資源定位符的數(shù)目大于設定的閾值,則 將要生成去重規(guī)則的域名替換對應的去重規(guī)則中的域名參數(shù)部分,并生成新的去重規(guī)則。
[0047] 相對于現(xiàn)有技術,本發(fā)明的有益效果是:通過本發(fā)明實施例的方法及裝置,可以通 過去重規(guī)則對海量URL數(shù)據(jù)進行過濾去重,從大量的URL數(shù)據(jù)中還原出極少量它們重寫后 的動態(tài)CGI,避免在URL安全漏洞檢測時,安全漏洞掃描器重復的掃描同一個CGI,從而提高 安全漏洞的檢測效率。
【附圖說明】
[0048] 圖1為本發(fā)明實施例的一種登陸地址記錄方法及裝置的運行環(huán)境示意圖;
[0049] 圖2為圖1中一種網(wǎng)站服務器的結構圖;
[0050] 圖3為本發(fā)明實施例的一種統(tǒng)一資源定位符去重方法的流程圖;
[0051] 圖4為本發(fā)明實施例的一種要去重的URL與去重規(guī)則進行匹配時的流程圖;
[0052] 圖5為本發(fā)明實施例的第一種去重規(guī)則生成方法的流程圖;
[0053] 圖6為本發(fā)明實施例的第一種去重規(guī)則生成方法的另一種流程圖;
[0054] 圖7為本發(fā)明實施例的第二種去重規(guī)則生成方法的流程圖;
[0055] 圖8為本發(fā)明實施例的第二種去重規(guī)則生成方法的另一種流程圖;
[0056] 圖9為本發(fā)明實施例的一種統(tǒng)一資源定位符去重裝置的結構圖;
[0057] 圖10為本發(fā)明實施例的一種匹配模塊的的結構圖;
[0058] 圖11為本發(fā)明實施例的第一種去重規(guī)則生成裝置的結構圖;
[0059] 圖12為本發(fā)明實施例的第一種去重規(guī)則生成裝置的另一種結構圖;
[0060] 圖13為本發(fā)明實施例重寫過濾模塊的一種的結構圖;
[0061] 圖14為本發(fā)明實施例驗證模塊的一種的結構圖;
[0062] 圖15為本發(fā)明實施例的第二種去重規(guī)則生成裝置的結構圖;
[0063] 圖16為本發(fā)明實施例的第二種去重規(guī)則生成裝置的另一種結構圖。
【具體實施方式】
[0064] 有關本發(fā)明的前述及其他技術內容、特點及功效,在以下配合參考圖式的較佳實 施例詳細說明中將可清楚的呈現(xiàn)。通過【具體實施方式】的說明,當可對本發(fā)明為達成預定目 的所采取的技術手段及功效得以更加深入且具體的了解,然而所附圖式僅是提供參考與說 明之用,并非用來對本發(fā)明加以限制。
[0065] 本發(fā)明實施例提出一種統(tǒng)一資源定位符去重方法及裝置,以及相應的去重規(guī)則生 成方法及裝置,用于重寫后的URL地址進行去重過濾,以及生成去重規(guī)則以便于對URL地 址進行去重。請參見圖1,其為上述的方法及裝置的運行環(huán)境示意圖。一個或多個用戶端 100可通過網(wǎng)絡300與一個或多個網(wǎng)站服務器200 (圖1中只繪示一個)相連。所述用戶端 100可以是平板電腦、手機、電子閱讀器、遙控器、PC、筆記本電腦、車載設備、網(wǎng)絡電視、可穿 戴設備等具有網(wǎng)絡功能的智能設備。所述的網(wǎng)絡300例如可為互聯(lián)網(wǎng)、局