国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種防護規(guī)則生成方法及裝置制造方法

      文檔序號:6527244閱讀:204來源:國知局
      一種防護規(guī)則生成方法及裝置制造方法
      【專利摘要】本申請公開了一種防護規(guī)則生成方法及裝置,該方法包括:當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包中目標URL字段中的參數(shù)的參數(shù)名稱、該參數(shù)的參數(shù)類型及該參數(shù)的參數(shù)值進行記錄,直至該記錄過程滿足預設記錄結束條件,統(tǒng)計每種參數(shù)對應的個數(shù),并依據(jù)每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性為所述目標URL的必備參數(shù)或非必備參數(shù);統(tǒng)計每種參數(shù)的每種參數(shù)類型對應的個數(shù),并依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定每種參數(shù)的合法參數(shù)類型;統(tǒng)計每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍;將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,進而生成與所述目標URL對應的防護規(guī)則。
      【專利說明】一種防護規(guī)則生成方法及裝置
      【技術領域】
      [0001]本申請涉及互聯(lián)網(wǎng)應用【技術領域】,尤其是一種防護規(guī)則生成方法及裝置。
      【背景技術】
      [0002]在當今數(shù)字時代,互聯(lián)網(wǎng)已成為無可替代的信息交流方式,互聯(lián)網(wǎng)安全技術日新月異。但是,互聯(lián)網(wǎng)攻擊技術也在不斷出現(xiàn)新的攻擊手段,攻擊手段之一為漏洞攻擊,即針對互聯(lián)網(wǎng)服務器上發(fā)布的網(wǎng)站網(wǎng)頁中的漏洞進行攻擊,由于這些網(wǎng)頁中的漏洞沒有進行打補丁處理,所述服務器往往成為攻擊對象。具體的,攻擊者在向所述服務器(服務器上發(fā)布有網(wǎng)站網(wǎng)頁)發(fā)送的請求數(shù)據(jù)包的URL字段中封裝入攻擊數(shù)據(jù),并將所述封裝有攻擊數(shù)據(jù)的請求數(shù)據(jù)包向所述服務器進行發(fā)送。為避免服務器遭受網(wǎng)絡攻擊,需要對服務器進行防護,即對發(fā)送到服務器的請求數(shù)據(jù)包進行檢測。
      [0003]但是,該防護過程需要依賴于一定的防護規(guī)則,即依據(jù)所述防護規(guī)則對請求數(shù)據(jù)包是否安全作出界定。因此,亟需一種防護規(guī)則生成方法,用以生成防護服務器過程中應用的防護規(guī)則。

      【發(fā)明內(nèi)容】

      [0004]有鑒于此,本申請?zhí)峁┝艘环N防護規(guī)則生成方法及裝置,用以生成防護服務器過程中應用的防護規(guī)則。本申請?zhí)峁┑募夹g方案如下:
      [0005]一種防護規(guī)則生成方法,所述方法包括:
      [0006]當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包中目標URL字段中的參數(shù)的參數(shù)名稱、所述參數(shù)的參數(shù)類型及所述參數(shù)的參數(shù)值進行記錄,直至所述記錄過程滿足預設記錄結束條件;
      [0007]依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù);依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性;其中,所述屬性為所述目標URL的必備參數(shù)或所述目標URL的非必備參數(shù);
      [0008]統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù);依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型;
      [0009]統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍;
      [0010]將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,生成與所述目標URL對應的防護規(guī)則。
      [0011]上述方法,優(yōu)選的,統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù);
      [0012]其中,所述依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性,包括:
      [0013]依據(jù)所述所述目標URL的總個數(shù)及所述每種參數(shù)對應的個數(shù),獲得所述每種參數(shù)對應的缺失比值,并判斷所述每種參數(shù)的缺失比值是否未超過第一預設閾值;若是,將該種參數(shù)確定為必備參數(shù);否則,將該種參數(shù)確定為非必備參數(shù)
      [0014]上述方法,優(yōu)選的,所述依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型,包括:
      [0015]判斷所述每種參數(shù)的每種參數(shù)類型的個數(shù)是否超過第二預設閾值;若是,將該種參數(shù)類型確定為該種參數(shù)的合法參數(shù)類型。
      [0016]上述方法,優(yōu)選的,所述統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍,包括:
      [0017]判斷所述每種參數(shù)的參數(shù)值的屬性,其中,所述屬性為字符或數(shù)值;
      [0018]若所述屬性為字符,統(tǒng)計所述字符屬性的參數(shù)值的字符長度范圍;
      [0019]若所述屬性為數(shù)值,統(tǒng)計所述數(shù)值屬性的參數(shù)值的數(shù)值范圍。
      [0020]上述方法,優(yōu)選的,還包括:
      [0021]接收用戶向所述服務器發(fā)送的后續(xù)請求數(shù)據(jù)包;
      [0022]判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有屬性為必備參數(shù)的
      第一參數(shù);
      [0023]若所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中包含有屬性為必備參數(shù)的第一參數(shù),判斷所述第一參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若所述第一參數(shù)的參數(shù)類型為對應的合法參數(shù)類型,判斷所述第一參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍,若所述第一參數(shù)的參數(shù)值符合對應的數(shù)據(jù)范圍,判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有所述屬性為非必備參數(shù)的第二參數(shù);
      [0024]若所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中未包含有屬性為必備參數(shù)的第一參數(shù)、所述第一參數(shù)的參數(shù)類型不為對應的合法參數(shù)類型、或所述第一參數(shù)的參數(shù)值不符合對應的數(shù)據(jù)范圍,刪除所述后續(xù)請求數(shù)據(jù)包;
      [0025]若所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中包含有所述屬性為非必備參數(shù)的第二參數(shù),判斷所述第二參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;
      [0026]若所述第二參數(shù)的參數(shù)類型為對應的合法參數(shù)類型,判斷所述第二參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍;若是,將所述后續(xù)請求數(shù)據(jù)包向所述服務器進行發(fā)送;否則,刪除所述后續(xù)請求數(shù)據(jù)包;
      [0027]若所述第二參數(shù)的參數(shù)類型不為對應的合法參數(shù)類型,刪除所述后續(xù)請求數(shù)據(jù)包。
      [0028]本申請還提供了一種防護規(guī)則生成裝置,所述裝置包括:
      [0029]記錄單元,用于當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包中目標URL字段中的參數(shù)的參數(shù)名稱、所述參數(shù)的參數(shù)類型及所述參數(shù)的參數(shù)值進行記錄,直至所述記錄過程滿足預設記錄結束條件;
      [0030]第一規(guī)則項生成單元,用于依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù);依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性;其中,所述屬性為所述目標URL的必備參數(shù)或所述目標URL的非必備參數(shù);
      [0031]第二規(guī)則項生成單元,用于統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù);依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型;
      [0032]第三規(guī)則項生成單元,用于統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍;
      [0033]規(guī)則生成單元,用于將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,生成與所述目標URL對應的防護規(guī)則。
      [0034]上述裝置,優(yōu)選的,還包括:[0035]統(tǒng)計單元,用于統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù);
      [0036]所述第一規(guī)則項生成單元包括:
      [0037]第一統(tǒng)計子單元,用于依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù);
      [0038]第一確定子單元,用于依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性;
      [0039]其中,所述第一確定子單元包括:
      [0040]第一判斷子單元,用于依據(jù)所述所述目標URL的總個數(shù)及所述每種參數(shù)對應的個數(shù),獲得所述每種參數(shù)對應的缺失比值,并判斷所述每種參數(shù)的缺失比值是否未超過第一預設閾值;若是,觸發(fā)第一結果子單元;否則,觸發(fā)第二結果子單元;
      [0041]第一結果子單元,用于將該種參數(shù)確定為所述目標URL的必備參數(shù);
      [0042]第二結果子單元,用于將該種參數(shù)確定為所述目標URL的非必備參數(shù)。
      [0043]上述裝置,優(yōu)選的,所述第二規(guī)則項生成單元包括:
      [0044]第二統(tǒng)計子單元,用于統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù);
      [0045]第二確定子單元,用于依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型;
      [0046]其中,所述第二確定子單元包括:
      [0047]第二判斷子單元,用于判斷所述每種參數(shù)的每種參數(shù)類型的個數(shù)是否超過第二預設閾值;若是,觸發(fā)第三結果子單元;
      [0048]第三結果子單元,用于將該種參數(shù)類型確定為該種參數(shù)的合法參數(shù)類型。
      [0049]上述裝置,優(yōu)選的,所述第三規(guī)則項生成單元包括:
      [0050]第三判斷子單元,用于判斷所述每種參數(shù)的參數(shù)值的屬性,其中,所述屬性為字符或數(shù)值;
      [0051]第四結果子單元,用于若所述屬性為字符,統(tǒng)計所述字符屬性的參數(shù)值的字符長度范圍;
      [0052]第五結果子單元,用于若所述屬性為數(shù)值,統(tǒng)計所述數(shù)值屬性的參數(shù)值的數(shù)值范圍。
      [0053]上述裝置,優(yōu)選的,還包括:
      [0054]接收單元,用于接收用戶向所述服務器發(fā)送的后續(xù)請求數(shù)據(jù)包;
      [0055]第一判斷單元,用于判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有屬性為必備參數(shù)的第一參數(shù);若是,觸發(fā)第二判斷單元;若否,觸發(fā)第一結果單元。
      [0056]第二判斷單元,用于判斷所述第一參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若是,觸發(fā)第三判斷單元;若否,觸發(fā)第一結果單元;
      [0057]第三判斷單元,用于判斷所述第一參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍,若是,觸發(fā)第四判斷單元;若否,觸發(fā)第一結果單元;
      [0058]第四判斷單元,用于判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有所述屬性為非必備參數(shù)的第二參數(shù);若是,觸發(fā)第五判斷單元;
      [0059]第一結果單元,用于刪除所述后續(xù)請求數(shù)據(jù)包;
      [0060]第五判斷單元,用于判斷所述第二參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若是,觸發(fā)第六判斷單元,若否,觸發(fā)第一結果單元;[0061]第六判斷單元,用于判斷所述第二參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍;若是,觸發(fā)第二結果單元;若否,觸發(fā)第一結果單元;
      [0062]第二結果單元,用于將所述后續(xù)請求數(shù)據(jù)包向所述服務器進行發(fā)送。
      [0063]由以上的技術方案可知,本申請當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包中目標URL字段中的參數(shù)的參數(shù)名稱、該參數(shù)的參數(shù)類型及該參數(shù)的參數(shù)值進行記錄,依據(jù)各個參數(shù)的參數(shù)名稱,分別統(tǒng)計每種參數(shù)對應的個數(shù),并依據(jù)每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性為所述目標URL的必備參數(shù)或所述目標URL的非必備參數(shù);統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),并依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型;統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍;則可將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,進而生成與所述目標URL對應的防護規(guī)則。
      【專利附圖】

      【附圖說明】
      [0064]為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0065]圖1為本申請?zhí)峁┑囊环N防護規(guī)則生成方法一個實施例的流程圖;
      [0066]圖2為本申請?zhí)峁┑囊环N防護規(guī)則生成方法又一實施例的部分流程圖;
      [0067]圖3為本申請?zhí)峁┑囊环N防護規(guī)則生成裝置一個實施例的結構示意圖;
      [0068]圖4為本申請?zhí)峁┑囊环N防護規(guī)則生成裝置又一實施例的部分結構示意圖。
      【具體實施方式】
      [0069]下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
      [0070]請參閱圖1,其示出了本申請?zhí)峁┑囊环N防護規(guī)則生成方法一個實施例的流程圖,本實施例可以包括:
      [0071]步驟101:當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包中目標URL字段中的參數(shù)的參數(shù)名稱、所述參數(shù)的參數(shù)類型及所述參數(shù)的參數(shù)值進行記錄,直至所述記錄過程滿足預設記錄結束條件。
      [0072]其中,所述規(guī)則生成指令為配置員發(fā)送的規(guī)則生成指令,即配置員需要生成防護規(guī)則時,可以發(fā)送所述規(guī)則生成指令。當接收到所述規(guī)則生成指令時,獲取用戶向服務器發(fā)送的請求數(shù)據(jù)包,并對所述請求數(shù)據(jù)包的目標URL字段中的參數(shù)的參數(shù)信息進行記錄,直至所述記錄過程滿足預設記錄結束條件。
      [0073]需要說明的是,用戶向所述服務器發(fā)送多個請求數(shù)據(jù)包,每個所述請求數(shù)據(jù)包中包含有一個URL字段,其中,所述每個請求數(shù)據(jù)包中包含的URL字段可以相同,也可以不同,則所述多個請求數(shù)據(jù)包對應至少一種URL字段。本步驟中的所述目標URL字段為任意一種URL 字段,例如,http://vide0.sina.com.cn/sports/?show=original,則步驟 104 中生成的防護規(guī)則與該目標URL字段對應。當然,本步驟只是對一種URL字段(目標URL字段)對應防護規(guī)則生成方法的說明,該方法同樣適用于所述多個請求數(shù)據(jù)包中對應的其他種類的URL字段。
      [0074]其中,所述記錄結束條件可以是預設時間長度,可以是預設次數(shù)閾值,也可以是兩者的結合。
      [0075]若所述記錄結束條件為預設時間長度,則當接收到所述規(guī)則生成指令時,記錄時長,當記錄的時長滿足所述預設時間長度時,確定所述記錄過程滿足所述記錄結束條件。
      [0076]若所述記錄結束條件為預設次數(shù)閾值,則當接收到所述規(guī)則生成指令時,將預設的次數(shù)參數(shù)設置為0,每獲取到一個請求數(shù)據(jù)包,則對所述次數(shù)參數(shù)加1,當所述次數(shù)參數(shù)的值滿足所述預設次數(shù)閾值時,確定所述記錄過程滿足所述記錄結束條件。
      [0077]若所述記錄結束條件為預設時間長度或預設次數(shù)閾值,當接收到所述規(guī)則生成指令時,記錄時長,同時將預設的次數(shù)參數(shù)設置為0,每獲取到一個請求數(shù)據(jù)包,則對所述次數(shù)參數(shù)加1,當所述時長達到所述預設時間長度或所述次數(shù)參數(shù)的值達到所述預設次數(shù)閾值時,確定所述記錄過程滿足所述記錄結束條件。 [0078]需要說明的是,所述記錄過程中會接收到用戶向所述服務器發(fā)送的多個請求數(shù)據(jù)包,所述請求數(shù)據(jù)包的所述目標URL字段中的參數(shù)可以是一個,也可以是多個。
      [0079]所述記錄過程,需要記錄所述多個請求數(shù)據(jù)包的所述目標URL字段中的參數(shù)的參數(shù)名稱、參數(shù)的參數(shù)類型及參數(shù)的參數(shù)值。其中,所述參數(shù)的參數(shù)類型可以包括,字符串、數(shù)值、電話號碼、郵政編碼、身份證號等。例如,記錄的參數(shù)名稱、參數(shù)類型及參數(shù)值分別為:name、字符串、張三;age、數(shù)值、14 ;code、郵政編碼、072450。
      [0080]其中,所述參數(shù)類型的確定方式,可以是依據(jù)預先設置的正則表達式集合進行確定,即將所述參數(shù)值與所述各種正則表達式進行比對,若符合某種正則表達式,則將所述正則表達式表示的參數(shù)類型確定為所述參數(shù)的參數(shù)類型。例如,預先設置有字符串、數(shù)值、身份證號、郵政編碼等多種正則表達式。需要說明的是,所述正則表達式的集合是可以由配置員預先配置的,即接收配置指令及正則表達式數(shù)據(jù),其中,所述配置指令中包含有正則表達式的標識,將所述配置正則表達式的數(shù)據(jù)生成與所述正則表達式標識相對應的正則表達式。
      [0081]步驟102:依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù);依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性;其中,所述屬性為所述目標URL的必備參數(shù)或所述目標URL的非必備參數(shù)。
      [0082]其中,所述步驟101中記錄的所述目標URL中的參數(shù)為多種,需要說明的是,所述統(tǒng)計每種參數(shù)對應的個數(shù),依據(jù)的是所述各個參數(shù)的參數(shù)名稱。例如,name是一種參數(shù),age是一種參數(shù),統(tǒng)計所述name的個數(shù),即可獲得所述name參數(shù)對應的個數(shù),統(tǒng)計所述age的個數(shù),即可獲得所述age參數(shù)對應的個數(shù)。
      [0083]其中,依據(jù)所述目標URL中的每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性。所述確定過程,可以包括但不限定于以下幾種方式:
      [0084]一是將所述每種參數(shù)對應的個數(shù)與某一預設個數(shù)閾值進行比對,若超過所述預設個數(shù)閾值,將該種參數(shù)確定為所述目標URL的必備參數(shù),否則,將該種參數(shù)確定為所述目標URL的非必備參數(shù),例如,預設個數(shù)閾值為100,若所述目標URL中name的個數(shù)超過100,則將name確定為所述目標URL的必備參數(shù)。
      [0085]另一是預先統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù),將所述每種參數(shù)對應的個數(shù)與所述目標URL總個數(shù)進行比對獲得比值,若所述比值超過某一預設比值閾值,將該種參數(shù)確定為所述目標URL的必備參數(shù),否則,將該種參數(shù)確定為所述目標URL的非必備參數(shù),例如,預設比值閾值為90%,若記錄的所述目標URL的所有參數(shù)為1000,name的個數(shù)為800,則將name確定為所述目標URL的非必備參數(shù)。
      [0086]又一是預先統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù),將所述總個數(shù)減去所述每種參數(shù)對應的個數(shù),獲取所述每種參數(shù)對應的缺失個數(shù),將所述每種參數(shù)對應的缺失個數(shù)與所述目標URL總個數(shù)進行比對,獲取所述每種參數(shù)對應的缺失比值,將所述缺失比值與預設缺失比值閾值進行比對,若所述缺失比值在所述缺失比值閾值范圍內(nèi),將該種參數(shù)確定為所述目標URL的必備參數(shù),否則,將該種參數(shù)確定為所述目標URL的非必備參數(shù)。
      [0087]步驟103:統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù);依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型。
      [0088]其中,所述步驟101中記錄的參數(shù)為多種,記錄的每種參數(shù)對應的參數(shù)類型可以是一種,也可以是多種,統(tǒng)計所述每種參數(shù)類型對應的個數(shù),依據(jù)所述各個參數(shù),確定某種參數(shù)類型為該種參數(shù)的合法參數(shù)類型。例如,所述步驟101中記錄的所述name對應的參數(shù)類型包括字符串類型、數(shù)值類型,則在所述字符串及數(shù)值參數(shù)類型中,依據(jù)字符串及數(shù)值類型對應的個數(shù),確定name對應合法參數(shù)類型,如所述合法參數(shù)類型為字符串。
      [0089]所述確定過程的方式,可以將所述每種參數(shù)類型對應的個數(shù)與某一預設個數(shù)閾值進行比對,也可以是將所述每種參數(shù)類型對應的個數(shù)與記錄的所有參數(shù)類型的個數(shù)進行比對獲得比值,將所述比值與某一預設比值閾值,具體過程請參閱步驟102中參數(shù)屬性的確定過程,在此不做贅述。
      [0090]步驟104:統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍。
      [0091]所述每種參數(shù)均對應多個參數(shù)值,依據(jù)所述各個參數(shù)值,可以確定所述每種參數(shù)的數(shù)據(jù)范圍。其中,所述數(shù)據(jù)范圍可以是數(shù)據(jù)值的大小范圍,可以是字符串的長度范圍。例如,所述name參數(shù)的參數(shù)值的數(shù)據(jù)范圍為5至20個字符長度。
      [0092]步驟105:將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,生成與所述目標URL對應的防護規(guī)則。
      [0093]其中,步驟101中記錄所述目標URL的參數(shù)有多種,例如name參數(shù)、age參數(shù)、tel參數(shù)。將所述每種參數(shù)及其對應的屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,作為所述目標URL的防護規(guī)則中的各條紀錄。
      [0094]例如,name的屬性為所述目標URL的必備參數(shù),所述name的合法參數(shù)類型為字符串,所述name的數(shù)據(jù)范圍為5至20個字符長度;age的屬性為所述目標URL的非必備參數(shù),所述age的合法參數(shù)類型為數(shù)值,所述age的數(shù)據(jù)范圍為7至58 ;tel的屬性為所述目標URL的非必備參數(shù),所述tel的合法參數(shù)類型為字符串,所述tel的數(shù)據(jù)范圍為7至11。
      [0095]其中,所述防護規(guī)則的保存形式可以為數(shù)據(jù)表的形式,也可以是文本文件的形式,當然,所述防護規(guī)則的保存形式包括但不限定于上述兩種形式。所述防護規(guī)則是與所述目標URL對應的,即可將所述防護規(guī)則的標識與將所述目標URL的標識建立對應關系。
      [0096]需要說明的是,所述步驟102、103及104步驟可以是依次順序進行,或可以是任意兩者同時執(zhí)行,也可以是三者同時執(zhí)行。
      [0097]在本實施例中,當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包的目標URL字段中的參數(shù)的參數(shù)名稱、該參數(shù)的參數(shù)類型及該參數(shù)的參數(shù)值進行記錄,依據(jù)各個參數(shù)的參數(shù)名稱,分別統(tǒng)計每種參數(shù)對應的個數(shù),并依據(jù)每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性為所述目標URL的必備參數(shù)或所述目標URL的非必備參數(shù);統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),并依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型;統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍;則可將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,進而生成與所述所述目標URL對應的防護規(guī)則。
      [0098]上述實施例可以應用于服務器,也可以應用于用戶及服務器外的第三方設備,例如,將上述實施例配置到apache配置文件中,啟動apache,則可將上述實施例加載到apache中。另外,上述實施例中需要利用加鎖及內(nèi)存共享技術,以解決在多進程和多線程訪問同一計算機資源時的加鎖互斥問題。
      [0099]在上一實施例的基礎上,所述記錄過程中還包括:統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù),則上述實施例中的步驟102中的依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性,可以通過以下方式實現(xiàn):
      [0100]依據(jù)所述目標URL的總個數(shù)及所述每種參數(shù)對應的個數(shù),獲得所述每種參數(shù)對應的缺失比值,并判斷所述每種參數(shù)的缺失比值是否未超過第一預設閾值;若是,將該種參數(shù)確定為必備參數(shù);否則,將該種參數(shù)確定為非必備參數(shù)。
      [0101]其中,將所述目標URL的總個數(shù)減去所述每種參數(shù)對應的個數(shù),可以獲得所述每種參數(shù)對應的缺失個數(shù),將所述每種參數(shù)對應缺失個數(shù)與所述目標URL的總個數(shù)進行比值計算,獲得所述每種參數(shù)對應的缺失比值。例如,所述目標URL的總個數(shù)為1000,name參數(shù)的個數(shù)為800,則name參數(shù)的缺失比值為20%。
      [0102]其中,所述判斷過程是循環(huán)進行的,即將所述每種參數(shù)的缺失比值與所述第一預設閾值分別進行比對,獲得所述每種參數(shù)對應的屬性。
      [0103]需要說明的是,所述第一預設閾值可以是一個,即每種參數(shù)的個數(shù)均與所述第一預設閾值進行比對。另外,所述第一預設閾值可以是預先設置的固定數(shù)值,也可以是接收配置員的設置指令,其中,所述設置指令中包含有數(shù)值,將所述數(shù)值設置為所述第一預設閾值。
      [0104]依據(jù)所述第一預設閾值及每種參數(shù)對應的缺失比值進行參數(shù)屬性值的確定,例如,第一預設閾值為10%,若name參數(shù)的缺失比值為20%,則所述name為所述目標URL的非必備參數(shù),若tel參數(shù)的缺失比值為4%,則所述tel為所述目標URL的必備參數(shù)。
      [0105]所述確定方式可以是,預先設置有各個標識與所述各種屬性的對應關系,將各種參數(shù)分別與某種標識建立對應關系,則可實現(xiàn)與所述必備屬性建立對應關系。例如,A標識對應所述目標URL的必備參數(shù),B標識對應所述目標URL的非必備參數(shù),將參數(shù)與所述A標識建立對應關系,則該種參數(shù)被確定為所述目標URL的必備參數(shù),將參數(shù)與所述B標識建立對應關系,則該種參數(shù)被確定為所述目標URL的非必備參數(shù)。[0106]上述實施例中的步驟103中的依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型,可以通過以下方式實現(xiàn):
      [0107]判斷所述每種參數(shù)的每種參數(shù)類型的個數(shù)是否超過第二預設閾值;若是,將該種參數(shù)類型確定為該種參數(shù)的合法參數(shù)類型。
      [0108]需要說明的是,所述步驟101中記錄的所述參數(shù)的種類是多種的,例如,name參數(shù)、age參數(shù)、tel參數(shù)。每種參數(shù)對應的參數(shù)類型可以是一種,也可以是多種,例如,所述name對應的參數(shù)類型分別有字符串、數(shù)值,所述age對應的參數(shù)類型有數(shù)值、所述tel對應的參數(shù)類型有電話號碼、字符串、數(shù)值。依據(jù)所述每種參數(shù)類型的個數(shù),將所述一種或所述多種中的某種參數(shù)確定為該種參數(shù)的合法參數(shù)類型。
      [0109]其中,所述判斷過程是循環(huán)進行的,即判斷上述實施例中步驟101記錄的所有參數(shù)對應的所有參數(shù)類型分別是否超過第二預設閾值,依據(jù)判斷結果確定所述每種參數(shù)對應的合法參數(shù)類型。
      [0110]例如,所述步驟101中記錄的name參數(shù)、age參數(shù)、tel參數(shù),需分別確定name對應的合法參數(shù)類型,age對應的合法參數(shù)類型及tel對應的合法參數(shù)類型。所述第一預設閾值為700個,所述name對應的參數(shù)類型包括字符串及數(shù)值,其中,所述字符串的個數(shù)為900個,所述數(shù)值的個數(shù)為100個,則所述name的合法參數(shù)類型為字符串;所述age對應的參數(shù)類型包括對應的參數(shù)類型包括數(shù)值,其中,所述數(shù)值的個數(shù)為800個,則所述age的合法參數(shù)類型為數(shù)值;所述tel對應的參數(shù)類型包括電話號碼、字符串、數(shù)值,其中,所述電話號碼的個數(shù)為900個,所述數(shù)值的個數(shù)為50個,所述數(shù)值的個數(shù)為50個,則所述tel的合法參數(shù)類型為電話號碼。
      [0111]需要說明的是,所述第二預設閾值可以是一個,即每種參數(shù)類型的個數(shù)均與所述第二預設閾值進行比對。另外,所述第二預設閾值可以是預先設置的固定數(shù)值,也可以是接收配置員的設置指令,其中,所述設置指令中包含有數(shù)值,將所述數(shù)值設置為所述第二預設閾值。
      [0112]上述實施例中的步驟104可以通過以下方式實現(xiàn):
      [0113]判斷所述每種參數(shù)的參數(shù)值的屬性,其中,所述屬性為字符或數(shù)值;若所述屬性為字符,統(tǒng)計所述字符屬性的參數(shù)值的字符長度范圍;若所述屬性為數(shù)值,統(tǒng)計所述數(shù)值屬性的參數(shù)值的數(shù)值范圍。
      [0114]其中,所述每種參數(shù)包括多個參數(shù)值,例如,age參數(shù)的參數(shù)值可以包括7、29、34、58,所述各個參數(shù)值的屬性為數(shù)值,則統(tǒng)計所述數(shù)值屬性的參數(shù)值的數(shù)值范圍,所述數(shù)值范圍為7至58 ;tel參數(shù)的參數(shù)值可以包括8302452、13702942083、0107385229,所述參數(shù)的類型為字符串,則統(tǒng)計所述字符串屬性的參數(shù)值的字符長度范圍,所述字符長度范圍為7至11。
      [0115]當然,每種參數(shù)對應的參數(shù)值有多個,則所述參數(shù)的參數(shù)值的屬性可以包括字符及數(shù)值兩種,則既統(tǒng)計字符屬性的參數(shù)值的字符長度范圍,且統(tǒng)計數(shù)值屬性的參數(shù)值的數(shù)值范圍。
      [0116]請參閱圖2,其示出了本申請?zhí)峁┑囊环N防護規(guī)則生成方法又一實施例的部分流程圖,本實施例可以包括:
      [0117]步驟201:接收用戶向所述服務器發(fā)送的后續(xù)請求數(shù)據(jù)包。[0118]所述后續(xù)請求數(shù)據(jù)包指的是上述實施例步驟101中接收到的請求數(shù)據(jù)包之后發(fā)送的請求數(shù)據(jù)包,即所述步驟101中接收到的所述請求數(shù)據(jù)包用于生成所述防護規(guī)則。本步驟利用所述生成的防護規(guī)則對用戶發(fā)送到所述服務器的后續(xù)請求數(shù)據(jù)包進行是否是合法數(shù)據(jù)包的判斷。
      [0119]其中,所述后續(xù)請求數(shù)據(jù)包即步驟101中的請求數(shù)據(jù)包之后發(fā)送的請求數(shù)據(jù)包。
      [0120]用戶向所述服務器發(fā)送后續(xù)請求數(shù)據(jù)包,在所述后續(xù)請求數(shù)據(jù)包被發(fā)送至所述服務器前,接收該后續(xù)請求數(shù)據(jù)包。
      [0121]步驟202:判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有屬性為必備參數(shù)的第一參數(shù);若是,執(zhí)行步驟203,若否,執(zhí)行步驟208。
      [0122]上述實施例步驟102中確定的參數(shù)中包括必備參數(shù)屬性的參數(shù)。獲取所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中的各個參數(shù),判斷所述參數(shù)中是否包含有屬性為必備參數(shù)的第一參數(shù)。例如,上述實施例步驟105中的屬性為必備參數(shù)的第一參數(shù)為name、age,若步驟201中接收的后續(xù)請求數(shù)據(jù)包中的參數(shù)為tel、code,沒有包含有所述第一參數(shù),則執(zhí)行步驟206 ;若步驟201中接收的后續(xù)請求數(shù)據(jù)包中的參數(shù)為name、tel,包含有所述第一參數(shù),則執(zhí)行步驟203。
      [0123]步驟203:判斷所述第一參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若是,執(zhí)行步驟204 ;若否,執(zhí)行步驟208。
      [0124]獲取所述第一參數(shù),并獲取所述第一參數(shù)的參數(shù)類型,判斷所述參數(shù)類型是否為上述實施例步驟103中確定的該第一參數(shù)的合法的參數(shù)類型。例如,所述第一參數(shù)為name,上述實施例步驟103中確定的所述name的合法參數(shù)類型為字符串;若步驟201中的所述后續(xù)請求數(shù)據(jù)包中的name參數(shù)對應的參數(shù)類型為數(shù)值,則執(zhí)行步驟208 ;若步驟201中的所述后續(xù)請求數(shù)據(jù)包中的name參數(shù)對應的參數(shù)類型為字符串,則執(zhí)行步驟204。
      [0125]步驟204:判斷所述第一參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍,若是,執(zhí)行步驟
      205;若否,執(zhí)行步驟208。
      [0126]獲取所述第一參數(shù)對應的參數(shù)值,判斷所述參數(shù)值是否符合上述實施例步驟104中確定的該參數(shù)的參數(shù)值對應的數(shù)據(jù)范圍。例如,所述第一參數(shù)為name,上述實施例步驟104中確定的所述name的數(shù)據(jù)范圍為5至20 ;若步驟201中的所述后續(xù)請求數(shù)據(jù)包中的name參數(shù)的數(shù)值為abc,則所述字符串的長度為3,并不符合所述數(shù)據(jù)范圍,則執(zhí)行步驟
      206;若步驟201中的所述后續(xù)請求數(shù)據(jù)包中的name參數(shù)的數(shù)值為zhangsan,貝U所述字符串的長度為8,符合所述數(shù)據(jù)范圍,則執(zhí)行步驟205。
      [0127]步驟205:判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有所述屬性為非必備參數(shù)的第二參數(shù);若是,執(zhí)行步驟206。
      [0128]上述實施例步驟102中確定的參數(shù)中包括非必備參數(shù)屬性的參數(shù)。獲取所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中的各個參數(shù),判斷所述參數(shù)中是否包含有屬性為非必備參數(shù)的第二參數(shù)。例如,上述實施例步驟105中的屬性為非必備參數(shù)的第二參數(shù)為tel、code,若步驟201中接收的后續(xù)請求數(shù)據(jù)包中的參數(shù)為tel、code,包含有所述第二參數(shù),則執(zhí)行步驟206。
      [0129]步驟206:判斷所述第二參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若是,執(zhí)行步驟207 ;若否,執(zhí)行步驟208。[0130]步驟207:判斷所述第一參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍;若是,執(zhí)行步驟209 ;若否,執(zhí)行步驟208。
      [0131]步驟208:刪除所述后續(xù)請求數(shù)據(jù)包。
      [0132]步驟209:將所述后續(xù)請求數(shù)據(jù)包向所述服務器進行發(fā)送。
      [0133]需要說明的是,上述步驟202至204與步驟205至207的執(zhí)行順序并不限定于此,即可先執(zhí)行步驟205至207的判斷,再執(zhí)行步驟202至204的判斷。
      [0134]在本實施例中,應用上述實施例中步驟105生成的防護規(guī)則對用戶發(fā)送到服務器的后續(xù)請求數(shù)據(jù)包進行檢測,將不符合所述防護規(guī)則的數(shù)據(jù)包進行刪除,將符合所述防護規(guī)則的數(shù)據(jù)包向所述服務器進行發(fā)送,實現(xiàn)了依據(jù)所述防護規(guī)則對數(shù)據(jù)包的監(jiān)測目的。
      [0135]請參閱圖3,其示出了本申請?zhí)峁┑囊环N防護規(guī)則生成裝置一個實施例的結構示意圖,本實施例可以包括:記錄單元301、第一規(guī)則項生成單元302、第二規(guī)則項生成單元303、第三規(guī)則項生成單元304及規(guī)則生成單元305。其中:
      [0136]所述記錄單元301,用于當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包的目標URL字段中的參數(shù)的參數(shù)名稱、所述參數(shù)的參數(shù)類型及所述參數(shù)的參數(shù)值進行記錄,直至所述記錄過程滿足預設記錄結束條件。
      [0137]其中,所述規(guī)則生成指令為配置員發(fā)送的規(guī)則生成指令,即配置員需要生成防護規(guī)則時,可以向所述記錄單元301發(fā)送所述規(guī)則生成指令。所述記錄單元301當接收到所述規(guī)則生成指令時,獲取用戶向服務器發(fā)送的請求數(shù)據(jù)包,并對所述請求數(shù)據(jù)包的所述目標URL字段中的參數(shù)的參數(shù)信息進行記錄,直至所述記錄過程滿足預設記錄結束條件。
      [0138]需要說明的是,用戶向所述服務器發(fā)送多個請求數(shù)據(jù)包,每個所述請求數(shù)據(jù)包中包含有一個URL字段,其中,所述每個請求數(shù)據(jù)包中包含的URL字段可以相同,也可以不同,則所述多個請求數(shù)據(jù)包對應至少一種URL字段。本步驟中的所述目標URL字段為任意一種 URL 字段,例如,http: //video, sina.com.cn/sports/?show=original,則步驟 104 中生成的防護規(guī)則與該目標URL字段對應。當然,所述記錄單元301只是對一種URL字段(目標URL字段)對應防護規(guī)則生成方法的說明,該記錄單元301適用于所述多個請求數(shù)據(jù)包中對應的其他種類的URL字段。
      [0139]其中,所述記錄結束條件可以是預設時間長度,可以是預設次數(shù)閾值,也可以是兩者的結合。
      [0140]若所述記錄結束條件為預設時間長度,則所述記錄單元301當接收到所述規(guī)則生成指令時,記錄時長,當記錄的時長滿足所述預設時間長度時,確定所述記錄過程滿足所述記錄結束條件。
      [0141]若所述記錄結束條件為預設次數(shù)閾值,則所述記錄單元301當接收到所述規(guī)則生成指令時,將預設的次數(shù)參數(shù)設置為0,每獲取到一個請求數(shù)據(jù)包,則對所述次數(shù)參數(shù)加1,當所述次數(shù)參數(shù)的值滿足所述預設次數(shù)閾值時,確定所述記錄過程滿足所述記錄結束條件。
      [0142]若所述記錄結束條件為預設時間長度或預設次數(shù)閾值,當所述記錄單元301接收到所述規(guī)則生成指令時,記錄時長,同時將預設的次數(shù)參數(shù)設置為0,每獲取到一個請求數(shù)據(jù)包,則對所述次數(shù)參數(shù)加1,當所述時長達到所述預設時間長度或所述次數(shù)參數(shù)的值達到所述預設次數(shù)閾值時,確定所述記錄過程滿足所述記錄結束條件。[0143]需要說明的是,所述記錄單元301記錄過程中會接收到用戶向所述服務器發(fā)送的多個請求數(shù)據(jù)包,所述請求數(shù)據(jù)包的所述目標URL字段中的參數(shù)可以是一個,也可以是多個。
      [0144]所述記錄單元301記錄過程,需要記錄所述多個請求數(shù)據(jù)包的所述目標URL字段中的參數(shù)的參數(shù)名稱、參數(shù)的參數(shù)類型及參數(shù)的參數(shù)值。其中,所述參數(shù)的參數(shù)類型可以包括,字符串、數(shù)值、電話號碼、郵政編碼、身份證號等。例如,記錄的參數(shù)名稱、參數(shù)類型及參數(shù)值分別為:name、字符串、張三;age、數(shù)值、14 ;code、郵政編碼、072450。
      [0145]其中,所述記錄單元301對所述參數(shù)類型的確定方式,可以是依據(jù)預先設置的正則表達式集合進行確定,即將所述參數(shù)值與所述各種正則表達式進行比對,若符合某種正則表達式,則將所述正則表達式表示的參數(shù)類型確定為所述參數(shù)的參數(shù)類型。例如,預先設置有字符串、數(shù)值、身份證號、郵政編碼等多種正則表達式。需要說明的是,所述正則表達式的集合是可以由配置員預先配置的,即接收配置指令及正則表達式數(shù)據(jù),其中,所述配置指令中包含有正則表達式的標識,將所述配置正則表達式的數(shù)據(jù)生成與所述正則表達式標識相對應的正則表達式。
      [0146]所述第一規(guī)則項生成單元302,用于依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù);依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性;其中,所述屬性為必備參數(shù)或非必備參數(shù)。
      [0147]其中,所述記錄單元301記錄的所述參數(shù)為多種,需要說明的是,所述第一規(guī)則項生成單元302統(tǒng)計每種參數(shù)對應的個數(shù),依據(jù)的是所述各個參數(shù)的參數(shù)名稱。例如,name是一種參數(shù),age是一種參數(shù),統(tǒng)計所述name的個數(shù),即可獲得所述name參數(shù)對應的個數(shù),統(tǒng)計所述age的個數(shù),即可獲得所述age參數(shù)對應的個數(shù)。
      [0148]其中,所述第一規(guī)則項生成單元302依據(jù)所述目標URL中的每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性。所述第一規(guī)則項生成單元302的確定過程,可以包括但不限定于以下幾種方式:
      [0149]一是將所述每種參數(shù)對應的個數(shù)與某一預設個數(shù)閾值進行比對,若超過所述預設個數(shù)閾值,將該種參數(shù)確定為所述目標URL的必備參數(shù),否則,將該種參數(shù)確定為所述目標URL的非必備參數(shù),例如,預設個數(shù)閾值為100,若所述目標URL中name的個數(shù)超過100,則將name確定為所述目標URL的必備參數(shù)。
      [0150]另一是預先統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù),將所述每種參數(shù)對應的個數(shù)與所述目標URL總個數(shù)進行比對獲得比值,若所述比值超過某一預設比值閾值,將該種參數(shù)確定為所述目標URL的必備參數(shù),否則,將該種參數(shù)確定為所述目標URL的非必備參數(shù),例如,預設比值閾值為90%,若記錄的所述目標URL的所有參數(shù)為1000,name的個數(shù)為800,則將name確定為所述目標URL的非必備參數(shù)。
      [0151]又一是預先統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù),將所述總個數(shù)減去所述每種參數(shù)對應的個數(shù),獲取所述每種參數(shù)對應的缺失個數(shù),將所述每種參數(shù)對應的缺失個數(shù)與所述目標URL總個數(shù)進行比對,獲取所述每種參數(shù)對應的缺失比值,將所述缺失比值與預設缺失比值閾值進行比對,若所述缺失比值在所述缺失比值閾值范圍內(nèi),將該種參數(shù)確定為所述目標URL的必備參數(shù),否則,將該種參數(shù)確定為所述目標URL的非必備參數(shù)。[0152]所述第二規(guī)則項生成單元303,用于統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù);依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型。
      [0153]其中,所述記錄單元301記錄的參數(shù)為多種,記錄的每種參數(shù)對應的參數(shù)類型可以是一種,也可以是多種,所述第二規(guī)則項生成單元303統(tǒng)計所述每種參數(shù)類型對應的個數(shù),依據(jù)所述各個參數(shù),確定某種參數(shù)類型為該種參數(shù)的合法參數(shù)類型。例如,所述記錄單元301記錄的所述name對應的參數(shù)類型包括字符串類型、數(shù)值類型,則所述第二規(guī)則項生成單元303在所述字符串及數(shù)值參數(shù)類型中,依據(jù)字符串及數(shù)值類型對應的個數(shù),確定name對應合法參數(shù)類型,如所述合法參數(shù)類型為字符串。
      [0154]所述第二規(guī)則項生成單元303確定過程的方式,可以將所述每種參數(shù)類型對應的個數(shù)與某一預設個數(shù)閾值進行比對,也可以是將所述每種參數(shù)類型對應的個數(shù)與記錄的所有參數(shù)類型的個數(shù)進行比對獲得比值,將所述比值與某一預設比值閾值,具體過程請所述第一規(guī)則項生成單元302參數(shù)屬性的確定過程,在此不做贅述。
      [0155]所述第三規(guī)則項生成單元304,用于統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍。
      [0156]所述每種參數(shù)均對應多個參數(shù)值,所述第三規(guī)則項生成單元304依據(jù)所述各個參數(shù)值,可以確定所述每種參數(shù)的數(shù)據(jù)范圍。其中,所述數(shù)據(jù)范圍可以是數(shù)據(jù)值的大小范圍,可以是字符串的長度范圍。例如,所述name參數(shù)的參數(shù)值的數(shù)據(jù)范圍為5至20個字符長度。
      [0157]所述規(guī)則生成單元305,用于將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,生成與所述目標URL對應的防護規(guī)則。
      [0158]其中,記錄單元301記錄所述目標URL的參數(shù)有多種,例如name參數(shù)、age參數(shù)、tel參數(shù)。將所述每種參數(shù)及其對應的屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,作為所述目標URL的防護規(guī)則中的各條紀錄。
      [0159]例如,name的屬性為所述目標URL的必備參數(shù),所述name的合法參數(shù)類型為字符串,所述name的數(shù)據(jù)范圍為5至20個字符長度;age的屬性為所述目標URL的非必備參數(shù),所述age的合法參數(shù)類型為數(shù)值,所述age的數(shù)據(jù)范圍為7至58 ;tel的屬性為所述目標URL的非必備參數(shù),所述tel的合法參數(shù)類型為字符串,所述tel的數(shù)據(jù)范圍為7至11。
      [0160]其中,所述防護規(guī)則的保存形式可以為數(shù)據(jù)表的形式,也可以是文本文件的形式,當然,所述防護規(guī)則的保存形式包括但不限定于上述兩種形式。所述防護規(guī)則是與所述服務器對應的,即可將所述防護規(guī)則的標識與將所述服務器的標識建立對應關系。
      [0161]需要說明的是,所述單元302、303及304的連接方式不限于上述方式,可以是三者同時與單元301相連。若是上述連接方式,則三者依次被觸發(fā)執(zhí)行;若所述三者同時與單元301相連,則可以是任意兩者被同時觸發(fā)執(zhí)行,也可以是三者被同時觸發(fā)執(zhí)行。
      [0162]在本實施例中,當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包的目標URL字段中的參數(shù)的參數(shù)名稱、該參數(shù)的參數(shù)類型及該參數(shù)的參數(shù)值進行記錄,依據(jù)各個參數(shù)的參數(shù)名稱,分別統(tǒng)計每種參數(shù)對應的個數(shù),并依據(jù)每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性為所述目標URL的必備參數(shù)或所述目標URL的非必備參數(shù);統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),并依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型;統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍;則可將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,進而生成與所述所述目標URL對應的防護規(guī)則。
      [0163]上述實施例可以應用于服務器,也可以應用于用戶及服務器外的第三方設備,例如,將上述實施例配置到apache配置文件中,啟動apache,則可將上述實施例加載到apache中。另外,上述實施例中需要利用加鎖及內(nèi)存共享技術,以解決在多進程和多線程訪問同一計算機資源時的加鎖互斥問題。
      [0164]在上述裝置實施例的基礎上,還包括:統(tǒng)計單元;所述統(tǒng)計單元,用于統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù);
      [0165]所述第一規(guī)則項生成單元302可以通過以下方式實現(xiàn):第一統(tǒng)計子單元、第一確定子單元;
      [0166]所述第一統(tǒng)計子單元,用于依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù);
      [0167]所述第一確定子單元,用于依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性;
      [0168]其中,所述第一確定子單元包括:第一判斷子單元、第一結果子單元及第二結果子單元。其中:
      [0169]所述第一判斷子單元,用于依據(jù)所述目標URL的總個數(shù)及所述每種參數(shù)對應的個數(shù),獲得所述每種參數(shù)對應的缺失比值,并判斷所述每種參數(shù)的缺失比值是否未超過第一預設閾值;若是,觸發(fā)第一結果子單元;否則,觸發(fā)第二結果子單元;
      [0170]所述第一結果子單元,用于將該種參數(shù)確定為必備參數(shù);
      [0171]所述第二結果子單元,用于將該種參數(shù)確定為非必備參數(shù)。
      [0172]本實施例執(zhí)行上述第二方法實施例中的相應功能,具體說明請參閱該方法實施例,在此不做贅述。
      [0173]上述裝置實施例中的第二規(guī)則項生成單元303可以通過以下方式實現(xiàn):第二統(tǒng)計子單元及第二確定子單元;其中:
      [0174]所述第二統(tǒng)計子單元,用于統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù);
      [0175]所述第二確定子單元,用于依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型;
      [0176]其中,所述第二確定子單元包括:第二判斷子單元及第三結果子單元。其中:
      [0177]所述第二判斷子單元,用于判斷所述每種參數(shù)的每種參數(shù)類型的個數(shù)是否超過第二預設閾值;若是,觸發(fā)第三結果子單元;
      [0178]所述第三結果子單元,用于將該種參數(shù)類型確定為該種參數(shù)的合法參數(shù)類型。
      [0179]本實施例執(zhí)行上述第三方法實施例中的相應功能,具體說明請參閱該方法實施例,在此不做贅述。
      [0180]上述裝置實施例中的第三規(guī)則項生成單元304可以通過以下方式實現(xiàn):第三判斷子單元、第四結果子單元及第五結果子單元。其中:
      [0181]所述第三判斷子單元,用于判斷所述每種參數(shù)的參數(shù)值的屬性,其中,所述屬性為字符或數(shù)值;
      [0182]所述第四結果子單元,用于若所述屬性為字符,統(tǒng)計所述字符屬性的參數(shù)值的字符長度范圍;
      [0183]所述第五結果子單元,用于若所述屬性為數(shù)值,統(tǒng)計所述數(shù)值屬性的參數(shù)值的數(shù)值范圍。
      [0184]本實施例執(zhí)行上述第四方法實施例中的相應功能,具體說明請參閱該方法實施例,在此不做贅述。
      [0185]請參閱圖4,其示出了本申請?zhí)峁┑囊环N規(guī)則生成裝置又一實施例的部分結構示意圖,本實施例可以包括:
      [0186]接收單元401,用于接收用戶向所述服務器發(fā)送的后續(xù)請求數(shù)據(jù)包。
      [0187]其中,所述接收單元401與所述規(guī)則生成單元305相連,接收用戶向所述服務器發(fā)送的后續(xù)請求數(shù)據(jù)包,并將該后續(xù)請求數(shù)據(jù)包與所述規(guī)則生成單元305生成的規(guī)則進行比對,實現(xiàn)對所述后續(xù)請求數(shù)據(jù)包的監(jiān)測。
      [0188]第一判斷單元402,用于判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有屬性為必備參數(shù)的第一參數(shù);若是,觸發(fā)第二判斷單元403 ;若否,觸發(fā)第一結果單元408。
      [0189]第二判斷單元403,用于判斷所述第一參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若是,觸發(fā)第三判斷單元404 ;若否,觸發(fā)第一結果單元408 ;
      [0190]第三判斷單元404,用于判斷所述第一參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍,若是,觸發(fā)第四判斷單元405 ;若否,觸發(fā)第一結果單元408 ;
      [0191]第四判斷單元405,用于判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有所述屬性為非必備參數(shù)的第二參數(shù);若是,觸發(fā)第五判斷單元406 ;
      [0192]第五判斷單元406,用于判斷所述第二參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若是,觸發(fā)第六判斷單元407,若否,觸發(fā)第一結果單元408 ;
      [0193]第六判斷單元407,用于判斷所述第二參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍;若是,觸發(fā)第二結果單元409 ;若否,觸發(fā)第一結果單元408 ;
      [0194]第一結果單元408,用于刪除所述后續(xù)請求數(shù)據(jù)包;
      [0195]第二結果單元409,用于將所述后續(xù)請求數(shù)據(jù)包向所述服務器進行發(fā)送。
      [0196]本實施例執(zhí)行上述第五方法實施例中的相應功能,具體說明請參閱該方法實施例,在此不做贅述。
      [0197]需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
      [0198]以上對本發(fā)明所提供的一種防護規(guī)則的生成方法及裝置進行了詳細介紹,對所公開的實施例的上述說明,使本領域?qū)I(yè)技術人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
      【權利要求】
      1.一種防護規(guī)則生成方法,其特征在于,所述方法包括: 當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包中目標URL字段中的參數(shù)的參數(shù)名稱、所述參數(shù)的參數(shù)類型及所述參數(shù)的參數(shù)值進行記錄,直至所述記錄過程滿足預設記錄結束條件; 依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù);依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性;其中,所述屬性為所述目標URL的必備參數(shù)或所述目標URL的非必備參數(shù); 統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù);依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型; 統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍; 將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,生成與所述目標URL對應的防護規(guī)則。
      2.根據(jù)權利要求1所述的方法,其特征在于,還包括:統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù);其中,所述依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性,包括: 依據(jù)所述目標URL的總個數(shù)及所述每種參數(shù)對應的個數(shù),獲得所述每種參數(shù)對應的缺失比值,并判斷所述每種參數(shù)的缺失比值是否未超過第一預設閾值;若是,將該種參數(shù)確定為所述目標URL的必備參數(shù);否則,將該種參數(shù)確定為所述目標URL的非必備參數(shù)。
      3.根據(jù)權利要求1所述的方法,其特征在于,所述依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型,包括: 判斷所述每種參數(shù)的每種參數(shù)類`型的個數(shù)是否超過第二預設閾值;若是,將該種參數(shù)類型確定為該種參數(shù)的合法參數(shù)類型。
      4.根據(jù)權利要求1所述的方法,其特征在于,所述統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍,包括: 判斷所述每種參數(shù)的參數(shù)值的屬性,其中,所述屬性為字符或數(shù)值; 若所述屬性為字符,統(tǒng)計所述字符屬性的參數(shù)值的字符長度范圍; 若所述屬性為數(shù)值,統(tǒng)計所述數(shù)值屬性的參數(shù)值的數(shù)值范圍。
      5.根據(jù)權利要求1所述的方法,其特征在于,還包括: 接收用戶向所述服務器發(fā)送的后續(xù)請求數(shù)據(jù)包; 判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有屬性為必備參數(shù)的第一參數(shù); 若所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中包含有屬性為必備參數(shù)的第一參數(shù),判斷所述第一參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若所述第一參數(shù)的參數(shù)類型為對應的合法參數(shù)類型,判斷所述第一參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍,若所述第一參數(shù)的參數(shù)值符合對應的數(shù)據(jù)范圍,判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有所述屬性為非必備參數(shù)的第二參數(shù); 若所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中未包含有屬性為必備參數(shù)的第一參數(shù)、所述第一參數(shù)的參數(shù)類型不為對應的合法參數(shù)類型、或所述第一參數(shù)的參數(shù)值不符合對應的數(shù)據(jù)范圍,刪除所述后續(xù)請求數(shù)據(jù)包;若所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中包含有所述屬性為非必備參數(shù)的第二參數(shù),判斷所述第二參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型; 若所述第二參數(shù)的參數(shù)類型為對應的合法參數(shù)類型,判斷所述第二參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍;若是,將所述后續(xù)請求數(shù)據(jù)包向所述服務器進行發(fā)送;否則,刪除所述后續(xù)請求數(shù)據(jù)包; 若所述第二參數(shù)的參數(shù)類型不為對應的合法參數(shù)類型,刪除所述后續(xù)請求數(shù)據(jù)包。
      6.一種防護規(guī)則生成裝置,其特征在于,所述裝置包括: 記錄單元,用于當接收到規(guī)則生成指令時,對用戶向服務器發(fā)送的多個請求數(shù)據(jù)包中目標URL字段中的參數(shù)的參數(shù)名稱、所述參數(shù)的參數(shù)類型及所述參數(shù)的參數(shù)值進行記錄,直至所述記錄過程滿足預設記錄結束條件; 第一規(guī)則項生成單元,用于依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù);依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性;其中,所述屬性為所述目標URL的必備參數(shù)或所述目標URL的非必備參數(shù); 第二規(guī)則項生成單元,用于統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù);依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型; 第三規(guī)則項生成單元,用于統(tǒng)計所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍; 規(guī)則生成單元,用于將所述每種參數(shù)及其屬性、所述每種參數(shù)的合法參數(shù)類型及所述每種參數(shù)的參數(shù)值的數(shù)據(jù)范圍對應組合,生成與所述目標URL對應的防護規(guī)則。
      7.根據(jù)權利要求6所述的裝置,其特征在于,還包括: 統(tǒng)計單元,用于統(tǒng)計接收到的多個請求數(shù)據(jù)包中所述目標URL的總個數(shù); 所述第一規(guī)則項生成單元包括: 第一統(tǒng)計子單元,用于依據(jù)各個參數(shù)的參數(shù)名稱,統(tǒng)計每種參數(shù)對應的個數(shù); 第一確定子單元,用于依據(jù)所述每種參數(shù)對應的個數(shù),確定所述每種參數(shù)的屬性; 其中,所述第一確定子單元包括: 第一判斷子單元,用于依據(jù)所述目標URL的總個數(shù)及所述每種參數(shù)對應的個數(shù),獲得所述每種參數(shù)對應的缺失比值,并判斷所述每種參數(shù)的缺失比值是否未超過第一預設閾值;若是,觸發(fā)第一結果子單元;否則,觸發(fā)第二結果子單元; 第一結果子單元,用于將該種參數(shù)確定為所述目標URL的必備參數(shù); 第二結果子單元,用于將該種參數(shù)確定為所述目標URL的非必備參數(shù)。
      8.根據(jù)權利要求6所述的裝置,其特征在于,所述第二規(guī)則項生成單元包括: 第二統(tǒng)計子單元,用于統(tǒng)計所述每種參數(shù)的每種參數(shù)類型對應的個數(shù); 第二確定子單元,用于依據(jù)所述每種參數(shù)的每種參數(shù)類型對應的個數(shù),確定所述每種參數(shù)的合法參數(shù)類型; 其中,所述第二確定子單元包括: 第二判斷子單元,用于判斷所述每種參數(shù)的每種參數(shù)類型的個數(shù)是否超過第二預設閾值;若是,觸發(fā)第三結果子單元; 第三結果子單元,用于將該種參數(shù)類型確定為該種參數(shù)的合法參數(shù)類型。
      9.根據(jù)權利要求6所述的裝置,其特征在于,所述第三規(guī)則項生成單元包括: 第三判斷子單元,用于判斷所述每種參數(shù)的參數(shù)值的屬性,其中,所述屬性為字符或數(shù)值; 第四結果子單元,用于若所述屬性為字符,統(tǒng)計所述字符屬性的參數(shù)值的字符長度范圍; 第五結果子單元,用于若所述屬性為數(shù)值,統(tǒng)計所述數(shù)值屬性的參數(shù)值的數(shù)值范圍。
      10.根據(jù)權利要求6所述的裝置,其特征在于,還包括: 接收單元,用于接收用戶向所述服務器發(fā)送的后續(xù)請求數(shù)據(jù)包; 第一判斷單元,用于判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有屬性為必備參數(shù)的第一參數(shù);若是,觸發(fā)第二判斷單元;若否,觸發(fā)第一結果單元。 第二判斷單元,用于判斷所述第一參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若是,觸發(fā)第三判斷單元;若否,觸發(fā)第一結果單元; 第三判斷單元,用于判斷所述第一參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍,若是,觸發(fā)第四判斷單元;若否,觸發(fā)第一結果單元; 第四判斷單元,用于判斷所述后續(xù)請求數(shù)據(jù)包的所述目標URL字段中是否包含有所述屬性為非必備參數(shù)的第二參數(shù);若是,觸發(fā)第五判斷單元; 第一結果單元,用于刪除所述后續(xù)請求數(shù)據(jù)包; 第五判斷單元,用于判斷所述第二參數(shù)的參數(shù)類型是否為對應的合法參數(shù)類型;若是,觸發(fā)第六判斷單元,若否,觸發(fā)第一結果單元; 第六判斷單元,用于判斷`所述第二參數(shù)的參數(shù)值是否符合對應的數(shù)據(jù)范圍;若是,觸發(fā)第二結果單元;若否,觸發(fā)第一結果單元; 第二結果單元,用于將所述后續(xù)請求數(shù)據(jù)包向所述服務器進行發(fā)送。
      【文檔編號】G06F21/57GK103729594SQ201310753750
      【公開日】2014年4月16日 申請日期:2013年12月31日 優(yōu)先權日:2013年12月31日
      【發(fā)明者】王發(fā)鑫, 孫應娥, 張青, 高隆林 申請人:山東中創(chuàng)軟件商用中間件股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1