亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種WEB頁面訪問方法和裝置與流程

文檔序號:12478079閱讀:190來源:國知局
一種WEB頁面訪問方法和裝置與流程
本發(fā)明涉及通信
技術(shù)領(lǐng)域
,尤其涉及一種WEB頁面訪問方法和裝置。
背景技術(shù)
:近年來,隨著計算機(jī)、網(wǎng)絡(luò)以及圖像處理、傳輸技術(shù)的飛速發(fā)展,視頻監(jiān)控系統(tǒng)的普及化趨勢越來越明顯,視頻監(jiān)控系統(tǒng)正在逐步邁入高清化,智能化,視頻監(jiān)控系統(tǒng)可以應(yīng)用于眾多領(lǐng)域,如智能交通、智慧園區(qū)、平安城市等。目前,視頻監(jiān)控系統(tǒng)對安全防范的要求越來越高,為了提高安全性,通過在被保護(hù)設(shè)備之前放置安全設(shè)備,以使用安全設(shè)備對訪問被保護(hù)設(shè)備的報文進(jìn)行過濾,從而避免將攻擊報文傳輸?shù)奖槐Wo(hù)設(shè)備上,且不影響正常業(yè)務(wù)報文的傳輸,從而可以防止攻擊者對被保護(hù)設(shè)備的攻擊,保障被保護(hù)設(shè)備的安全性。為了實(shí)現(xiàn)上述過程,安全設(shè)備在接收到報文后,需要分析該報文是否為攻擊報文,如果是,則丟棄該報文,如果否,則將該報文發(fā)送給被保護(hù)設(shè)備。但是,在該方式下,安全設(shè)備需要對接收到的所有報文進(jìn)行分析,當(dāng)有大量報文訪問被保護(hù)設(shè)備時,安全設(shè)備就需要對大量報文進(jìn)行分析,安全設(shè)備的處理性能可能無法滿足大量分析的需求,從而無法滿足大流量視頻監(jiān)控環(huán)境的應(yīng)用。而且,當(dāng)存在大量被保護(hù)設(shè)備時,在每個被保護(hù)設(shè)備之前都部署安全設(shè)備,則需要在網(wǎng)絡(luò)中額外部署大量安全設(shè)備,而安全設(shè)備通常為防火墻設(shè)備或者入侵檢測設(shè)備,其價值很高,很難部署大量的防火墻設(shè)備或者入侵檢測設(shè)備。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供一種WEB頁面訪問方法,應(yīng)用于WEB服務(wù)器上,包括:在接收到來自WEB客戶端的第一訪問請求時,獲得第一數(shù)值和第二數(shù)值,并向所述WEB客戶端發(fā)送重定向消息,所述重定向消息中攜帶所述第二數(shù)值和預(yù)設(shè)第二算法;其中,所述第二數(shù)值是基于所述第一數(shù)值和預(yù)設(shè)第一算法確定的,且所述預(yù)設(shè)第二算法是所述預(yù)設(shè)第一算法的逆算法;在接收到來自所述WEB客戶端的第二訪問請求時,若所述第二訪問請求中攜帶挑戰(zhàn)值,則比較所述挑戰(zhàn)值與所述第一數(shù)值是否相同;其中,所述挑戰(zhàn)值是所述WEB客戶端利用所述第二數(shù)值和所述預(yù)設(shè)第二算法生成的;若相同,則允許所述WEB客戶端訪問所述WEB服務(wù)器;若不同或所述第二訪問請求中沒有攜帶挑戰(zhàn)值,則禁止所述WEB客戶端訪問所述WEB服務(wù)器。所述獲得第一數(shù)值和第二數(shù)值的過程,具體包括:隨機(jī)生成第一數(shù)值,并利用所述第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值;或者,在接收到來自WEB客戶端的第一訪問請求之前,隨機(jī)生成第一數(shù)值,并利用所述第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值,并將所述第一數(shù)值和所述第二數(shù)值存儲在預(yù)先配置的數(shù)據(jù)表中;在接收到來自WEB客戶端的第一訪問請求之后,從所述數(shù)據(jù)表中查詢到所述第一數(shù)值和所述第二數(shù)值。所述預(yù)設(shè)第一算法的消耗時間小于所述預(yù)設(shè)第二算法的消耗時間;所述預(yù)設(shè)第一算法包括RSA加密算法,所述預(yù)設(shè)第二算法包括RSA解密算法。所述接收到來自所述WEB客戶端的第二訪問請求之后,所述方法進(jìn)一步包括:統(tǒng)計向所述WEB客戶端發(fā)送重定向消息的時間,與接收到來自所述WEB客戶端的第二訪問請求的時間之間的時間間隔;若所述時間間隔小于預(yù)設(shè)時間閾值,則禁止所述WEB客戶端訪問所述WEB服務(wù)器;若所述時間間隔不小于所述預(yù)設(shè)時間閾值,則執(zhí)行比較所述挑戰(zhàn)值與所述第一數(shù)值是否相同的過程。所述重定向消息中攜帶JS代碼,且所述JS代碼中攜帶所述第二數(shù)值和所述預(yù)設(shè)第二算法;合法的WEB客戶端需要解析所述JS代碼中攜帶的所述第二數(shù)值和所述預(yù)設(shè)第二算法,并利用所述第二數(shù)值和所述預(yù)設(shè)第二算法生成挑戰(zhàn)值,且將所述挑戰(zhàn)值添加到所述第二訪問請求的cookie信息中進(jìn)行發(fā)送;非法掃描的WEB客戶端不會對所述JS代碼中攜帶的信息進(jìn)行解析。本發(fā)明提供一種WEB頁面訪問裝置,應(yīng)用于WEB服務(wù)器上,包括:第一處理模塊,用于在接收到來自WEB客戶端的第一訪問請求時,獲得第一數(shù)值和第二數(shù)值,并向所述WEB客戶端發(fā)送重定向消息,所述重定向消息中攜帶所述第二數(shù)值和預(yù)設(shè)第二算法;其中,所述第二數(shù)值是基于所述第一數(shù)值和預(yù)設(shè)第一算法確定的,且所述預(yù)設(shè)第二算法是所述預(yù)設(shè)第一算法的逆算法;第二處理模塊,用于在接收到來自WEB客戶端的第二訪問請求時,若所述第二訪問請求中攜帶挑戰(zhàn)值,則比較所述挑戰(zhàn)值與所述第一數(shù)值是否相同;其中,所述挑戰(zhàn)值是所述WEB客戶端利用所述第二數(shù)值和所述預(yù)設(shè)第二算法生成的;若相同,則允許所述WEB客戶端訪問所述WEB服務(wù)器;若不同或所述第二訪問請求中沒有攜帶挑戰(zhàn)值,則禁止所述WEB客戶端訪問所述WEB服務(wù)器。所述第一處理模塊,具體用于在獲得第一數(shù)值和第二數(shù)值的過程中,隨機(jī)生成第一數(shù)值,并利用所述第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值;或者,在接收到來自所述WEB客戶端的第一訪問請求之前,隨機(jī)生成第一數(shù)值,并利用所述第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值,并將所述第一數(shù)值和所述第二數(shù)值存儲在預(yù)先配置的數(shù)據(jù)表中;在接收到來自所述WEB客戶端的第一訪問請求之后,從所述數(shù)據(jù)表中查詢到所述第一數(shù)值和所述第二數(shù)值。所述預(yù)設(shè)第一算法的消耗時間小于所述預(yù)設(shè)第二算法的消耗時間;所述預(yù)設(shè)第一算法包括RSA加密算法,所述預(yù)設(shè)第二算法包括RSA解密算法。所述第二處理模塊,還用于在接收到來自所述WEB客戶端的第二訪問請求之后,統(tǒng)計向所述WEB客戶端發(fā)送重定向消息的時間,與接收到來自所述WEB客戶端的第二訪問請求的時間之間的時間間隔;若所述時間間隔小于預(yù)設(shè)時間閾值,則禁止所述WEB客戶端訪問所述WEB服務(wù)器;若所述時間間隔不小于所述預(yù)設(shè)時間閾值,則執(zhí)行比較所述挑戰(zhàn)值與所述第一數(shù)值是否相同的過程。所述重定向消息中攜帶JS代碼,且所述JS代碼中攜帶所述第二數(shù)值和所述預(yù)設(shè)第二算法;合法的WEB客戶端需要解析所述JS代碼中攜帶的所述第二數(shù)值和所述預(yù)設(shè)第二算法,并利用所述第二數(shù)值和所述預(yù)設(shè)第二算法生成挑戰(zhàn)值,且將所述挑戰(zhàn)值添加到所述第二訪問請求的cookie信息中進(jìn)行發(fā)送;非法掃描的WEB客戶端不會對所述JS代碼中攜帶的信息進(jìn)行解析?;谏鲜黾夹g(shù)方案,本發(fā)明實(shí)施例中,可以由WEB服務(wù)器對接收到的訪問請求進(jìn)行分析,若分析出訪問請求是合法用戶發(fā)送的,則允許WEB客戶端訪問WEB服務(wù)器,若分析出訪問請求是攻擊者發(fā)送的,則禁止WEB客戶端訪問WEB服務(wù)器,從而可以保障WEB服務(wù)器的安全性,防止攻擊者對WEB服務(wù)器的攻擊,對用戶的干擾比較小,而且不需要在WEB服務(wù)器之前部署防火墻設(shè)備或者入侵檢測設(shè)備等安全設(shè)備。尤其是針對WEB掃描軟件來說,由于WEB掃描軟件不會對WEB服務(wù)器返回的JS代碼進(jìn)行完整解析,因此,WEB掃描軟件不會發(fā)送符合檢測要求的訪問請求,可以避免其訪問WEB服務(wù)器,可以有效防止WEB掃描軟件對WEB服務(wù)器進(jìn)行內(nèi)容掃描,從而阻止進(jìn)一步的滲透攻擊。附圖說明為了更加清楚地說明本發(fā)明實(shí)施例或者現(xiàn)有技術(shù)中的技術(shù)方案,下面將對本發(fā)明實(shí)施例或者現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明一種實(shí)施方式中的應(yīng)用場景示意圖;圖2是本發(fā)明一種實(shí)施方式中的WEB頁面訪問方法的流程圖;圖3是本發(fā)明一種實(shí)施方式中的登錄頁面的示意圖;圖4是本發(fā)明一種實(shí)施方式中的WEB服務(wù)器的硬件結(jié)構(gòu)圖;圖5是本發(fā)明一種實(shí)施方式中的WEB頁面訪問裝置的結(jié)構(gòu)圖。具體實(shí)施方式在本發(fā)明使用的術(shù)語僅僅是出于描述特定實(shí)施例的目的,而非限制本發(fā)明。本發(fā)明和權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其它含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指包含一個或多個相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。應(yīng)當(dāng)理解,盡管在本發(fā)明可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本發(fā)明范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,此外,所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”。本發(fā)明實(shí)施例中提出一種WEB(WorldWideWeb,萬維網(wǎng))頁面訪問方法,可以應(yīng)用于包括WEB服務(wù)器和WEB客戶端的系統(tǒng)中,WEB服務(wù)器用于為用戶提供WEB頁面服務(wù),WEB客戶端用于訪問WEB服務(wù)器,并從WEB服務(wù)器上獲取WEB頁面服務(wù),該WEB客戶端可以是安裝到終端設(shè)備(如個人計算機(jī)、移動終端等)上的瀏覽器。參見圖1所示,為本發(fā)明實(shí)施例的應(yīng)用場景示意圖,假設(shè)WEB客戶端1是合法用戶使用,WEB客戶端2是攻擊者使用,則WEB服務(wù)器需要允許WEB客戶端1訪問WEB服務(wù)器,以使WEB客戶端1從WEB服務(wù)器上獲取WEB頁面服務(wù);WEB服務(wù)器需要禁止WEB客戶端2訪問WEB服務(wù)器,以使WEB客戶端2無法從WEB服務(wù)器上獲取WEB頁面服務(wù),保證WEB服務(wù)器的安全。為了實(shí)現(xiàn)上述功能,本發(fā)明實(shí)施例中提出了一種WEB頁面訪問方法,參見圖2所示,該WEB頁面訪問方法具體可以包括以下步驟:步驟201,WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求時,獲得第一數(shù)值和第二數(shù)值,并向該WEB客戶端發(fā)送重定向消息,該重定向消息中攜帶該第二數(shù)值和預(yù)設(shè)第二算法。其中,該第二數(shù)值是基于該第一數(shù)值和預(yù)設(shè)第一算法確定的,且該預(yù)設(shè)第二算法是該預(yù)設(shè)第一算法的逆算法。步驟202,WEB服務(wù)器在接收到來自WEB客戶端的第二訪問請求時,若該第二訪問請求中攜帶挑戰(zhàn)值,則比較該挑戰(zhàn)值與該第一數(shù)值是否相同。其中,該挑戰(zhàn)值是該WEB客戶端利用該第二數(shù)值和該預(yù)設(shè)第二算法生成的。若相同,則WEB服務(wù)器執(zhí)行步驟203;若不同,則WEB服務(wù)器執(zhí)行步驟204。步驟203,WEB服務(wù)器允許WEB客戶端訪問本W(wǎng)EB服務(wù)器?;诖?,WEB客戶端可以從WEB服務(wù)器上獲取到WEB頁面服務(wù)。步驟204,WEB服務(wù)器禁止WEB客戶端訪問本W(wǎng)EB服務(wù)器?;诖?,WEB客戶端無法從WEB服務(wù)器上獲取到WEB頁面服務(wù)。針對步驟201,在一個例子中,WEB服務(wù)器獲得第一數(shù)值和第二數(shù)值的過程,可以包括但不限于如下方式:方式一、WEB服務(wù)器隨機(jī)生成第一數(shù)值,并利用該第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值?;蛘?,方式二、WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求之前,隨機(jī)生成第一數(shù)值,并利用該第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值,并將該第一數(shù)值和該第二數(shù)值存儲在預(yù)先配置的數(shù)據(jù)表中。進(jìn)一步的,WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求之后,可以直接從該數(shù)據(jù)表中查詢到該第一數(shù)值和該第二數(shù)值。在一個例子中,該預(yù)設(shè)第一算法的消耗時間可以小于該預(yù)設(shè)第二算法的消耗時間,如預(yù)設(shè)第一算法的消耗時間遠(yuǎn)遠(yuǎn)小于預(yù)設(shè)第二算法的消耗時間,例如,預(yù)設(shè)第一算法的消耗時間可以小于預(yù)設(shè)第二算法的消耗時間的十分之一。在一個例子中,考慮到RSA(RivestShamirAdleman)加密算法的消耗時間可以遠(yuǎn)遠(yuǎn)小于RSA解密算法的消耗時間,因此,預(yù)設(shè)第一算法可以包括但不限于:RSA加密算法,預(yù)設(shè)第二算法可以包括但不限于:RSA解密算法。針對步驟202,在一個例子中,WEB服務(wù)器在接收到來自WEB客戶端的第二訪問請求之后,還可以統(tǒng)計向WEB客戶端發(fā)送重定向消息的時間,與接收到來自WEB客戶端的第二訪問請求的時間之間的時間間隔。若該時間間隔小于預(yù)設(shè)時間閾值,則WEB服務(wù)器可以直接禁止WEB客戶端訪問本W(wǎng)EB服務(wù)器,而不再執(zhí)行比較挑戰(zhàn)值與第一數(shù)值是否相同的過程。若該時間間隔不小于預(yù)設(shè)時間閾值,則WEB服務(wù)器執(zhí)行比較挑戰(zhàn)值與第一數(shù)值是否相同的過程。在一個例子中,WEB服務(wù)器在接收到來自WEB客戶端的第二訪問請求之后,若第二訪問請求中沒有攜帶挑戰(zhàn)值,則WEB服務(wù)器可以直接禁止WEB客戶端訪問本W(wǎng)EB服務(wù)器,而不再執(zhí)行比較挑戰(zhàn)值與第一數(shù)值是否相同的過程。在一個例子中,WEB服務(wù)器向WEB客戶端發(fā)送的重定向消息中還可以攜帶JS(JavaScript,一種直譯式腳本語言)代碼,且該JS代碼中攜帶有第二數(shù)值和預(yù)設(shè)第二算法。進(jìn)一步的,合法的WEB客戶端(如WEB客戶端1)需要解析該JS代碼中攜帶的第二數(shù)值和預(yù)設(shè)第二算法,并利用該第二數(shù)值和該預(yù)設(shè)第二算法生成挑戰(zhàn)值,且可以將該挑戰(zhàn)值添加到第二訪問請求的cookie(即瀏覽器緩存)信息中進(jìn)行發(fā)送。此外,非法掃描的WEB客戶端(如WEB客戶端2)不會對JS代碼中攜帶的信息進(jìn)行完整的解析,因此,非法掃描的WEB客戶端發(fā)送的第二訪問請求中可能不攜帶挑戰(zhàn)值,或者,攜帶不正確的挑戰(zhàn)值(即不是WEB客戶端根據(jù)該第二數(shù)值和該預(yù)設(shè)第二算法生成的挑戰(zhàn)值)?;谏鲜黾夹g(shù)方案,本發(fā)明實(shí)施例中,可以由WEB服務(wù)器對接收到的訪問請求進(jìn)行分析,若分析出訪問請求是合法用戶發(fā)送的,則允許WEB客戶端訪問WEB服務(wù)器,若分析出訪問請求是攻擊者發(fā)送的,則禁止WEB客戶端訪問WEB服務(wù)器,從而可以保障WEB服務(wù)器的安全性,防止攻擊者對WEB服務(wù)器的攻擊,對用戶的干擾比較小,而且不需要在WEB服務(wù)器之前部署防火墻設(shè)備或者入侵檢測設(shè)備等安全設(shè)備。尤其是針對WEB掃描軟件來說,由于WEB掃描軟件不會對WEB服務(wù)器返回的JS代碼進(jìn)行完整解析,因此,WEB掃描軟件不會發(fā)送符合檢測要求的訪問請求,可以避免其訪問WEB服務(wù)器,可以有效防止WEB掃描軟件對WEB服務(wù)器進(jìn)行內(nèi)容掃描,從而阻止進(jìn)一步的滲透攻擊。為了更加清楚的說明上述實(shí)施例,結(jié)合如下流程進(jìn)行進(jìn)一步的說明。步驟1、當(dāng)WEB客戶端(如圖1中的WEB客戶端1或者WEB客戶端2)需要訪問WEB服務(wù)器時,則可以向WEB服務(wù)器發(fā)送第一訪問請求。步驟2、WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求時,獲知該WEB客戶端當(dāng)前未登錄,并可以向該WEB客戶端發(fā)送重定向消息。其中,該重定向消息可以用于將WEB客戶端重定向到登錄頁面,如圖3所示,為登錄頁面的一個示意圖,該登錄頁面通??梢园ㄓ脩裘⒚艽a。本發(fā)明實(shí)施例中,在WEB服務(wù)器向WEB客戶端發(fā)送重定向消息之前,還可以獲得第一數(shù)值和第二數(shù)值,并在該重定向消息的JS代碼中攜帶該第二數(shù)值和預(yù)設(shè)第二算法。綜上所述,在WEB服務(wù)器向WEB客戶端發(fā)送的重定向消息中,可以攜帶用戶名輸入框、密碼輸入框、第二數(shù)值、預(yù)設(shè)第二算法。在一個例子中,針對WEB服務(wù)器獲得第一數(shù)值和第二數(shù)值的過程,具體可以包括但不限于如下方式:方式一、WEB服務(wù)器隨機(jī)生成第一數(shù)值,并利用該第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值?;蛘?,方式二、WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求之前,可以隨機(jī)生成第一數(shù)值,并利用該第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值,并將該第一數(shù)值和該第二數(shù)值存儲在預(yù)先配置的數(shù)據(jù)表中。進(jìn)一步的,WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求之后,可以直接從該數(shù)據(jù)表中查詢到該第一數(shù)值和該第二數(shù)值。在一個例子中,該第二數(shù)值可以是WEB服務(wù)器基于該第一數(shù)值和預(yù)設(shè)第一算法確定的,且上述預(yù)設(shè)第二算法可以是該預(yù)設(shè)第一算法的逆算法。以預(yù)設(shè)第一算法為y=f(x),預(yù)設(shè)第二算法為x=f’(y)為例進(jìn)行說明。針對方式一,WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求之后,WEB服務(wù)器可以隨機(jī)生成一個第一數(shù)值x1,并通過預(yù)設(shè)第一算法y=f(x)計算出第二數(shù)值y1?;诖?,在重定向消息的JS代碼中,可以攜帶第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y),該預(yù)設(shè)第二算法x=f’(y)可以通過JS代碼實(shí)現(xiàn)。針對方式二,WEB服務(wù)器上可以預(yù)先配置一個數(shù)據(jù)表,WEB服務(wù)器可以隨機(jī)生成一個第一數(shù)值x1,并通過預(yù)設(shè)第一算法y=f(x)計算出第二數(shù)值y1,并在數(shù)據(jù)表中記錄第一數(shù)值x1和第二數(shù)值y1的對應(yīng)關(guān)系。WEB服務(wù)器隨機(jī)生成一個第一數(shù)值x2,并通過預(yù)設(shè)第一算法y=f(x)計算出第二數(shù)值y2,并在數(shù)據(jù)表中記錄第一數(shù)值x2和第二數(shù)值y2的對應(yīng)關(guān)系。以此類推,數(shù)據(jù)表可以如表1所示。WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求之后,可以直接從該數(shù)據(jù)表中查詢到第一數(shù)值x1和第二數(shù)值y1,或者,查詢到第一數(shù)值x2和第二數(shù)值y2?;诖?,在重定向消息的JS代碼中,可以攜帶第二數(shù)值y1(或者y2)和預(yù)設(shè)第二算法x=f’(y),該預(yù)設(shè)第二算法x=f’(y)可以通過JS代碼實(shí)現(xiàn)。表1第一數(shù)值第二數(shù)值x1y1x2y2x3y3在方式二中,通過在數(shù)據(jù)表中預(yù)先維護(hù)第一數(shù)值和第二數(shù)值的對應(yīng)關(guān)系,WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求后,就可以直接從數(shù)據(jù)表中查詢到第一數(shù)值和第二數(shù)值,而不需要重新計算第一數(shù)值和第二數(shù)值,從而加快獲得第一數(shù)值和第二數(shù)值的速度,而且查詢第一數(shù)值和第二數(shù)值的方式,與計算第一數(shù)值和第二數(shù)值的方式相比,可以提高WEB服務(wù)器的性能。在一個例子中,預(yù)設(shè)第一算法y=f(x)的消耗時間小于預(yù)設(shè)第二算法x=f’(y)的消耗時間,如預(yù)設(shè)第一算法y=f(x)的消耗時間遠(yuǎn)遠(yuǎn)小于預(yù)設(shè)第二算法x=f’(y)的消耗時間。例如,預(yù)設(shè)第一算法y=f(x)為RSA加密算法,預(yù)設(shè)第二算法x=f’(y)為RSA解密算法。當(dāng)然,在實(shí)際應(yīng)用中,預(yù)設(shè)第一算法y=f(x)并不局限于RSA加密算法,且預(yù)設(shè)第二算法x=f’(y)也不局限于RSA解密算法,只要預(yù)設(shè)第一算法y=f(x)的消耗時間小于預(yù)設(shè)第二算法x=f’(y)的消耗時間即可,本發(fā)明實(shí)施例中對此預(yù)設(shè)第一算法y=f(x)、預(yù)設(shè)第二算法x=f’(y)的選取不做限制。其中,預(yù)設(shè)第一算法y=f(x)的消耗時間遠(yuǎn)小于其逆算法x=f’(y)。例如,在實(shí)際應(yīng)用中,由于使用RSA加密算法進(jìn)行加密的時間,約為755毫秒,而使用RSA解密算法進(jìn)行解密的時間,約為28473毫秒,因此,可以將RSA加密算法作為預(yù)設(shè)第一算法y=f(x),將RSA解密算法作為預(yù)設(shè)第二算法x=f’(y)。步驟3、WEB客戶端在接收到來自WEB服務(wù)器的重定向消息后,將圖3所示的登錄頁面顯示給用戶,由用戶在該登錄頁面上輸入用戶名和密碼。步驟4、WEB客戶端生成包括用戶名和密碼的第二訪問請求,并向WEB服務(wù)器發(fā)送該第二訪問請求,由WEB服務(wù)器接收該第二訪問請求。在一個例子中,對于合法用戶使用的WEB客戶端1來說,WEB客戶端1在接收到重定向消息后,可以解析重定向消息的JS代碼中的所有內(nèi)容,繼而從該JS代碼中解析出第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y)。之后,WEB客戶端1可以利用第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y)生成挑戰(zhàn)值,即將第二數(shù)值y1代入預(yù)設(shè)第二算法x=f’(y)中,得到挑戰(zhàn)值x1?;诖?,WEB客戶端1還可以在第二訪問請求中添加挑戰(zhàn)值x1,即第二訪問請求中攜帶用戶名、密碼和挑戰(zhàn)值x1。在一個例子中,對于攻擊者使用的WEB客戶端2來說,WEB客戶端2在接收到重定向消息后,由于從重定向消息的JS代碼中解析出所有內(nèi)容的過程,是一個非常耗時的操作,因此WEB客戶端2不會解析重定向消息的JS代碼中的所有內(nèi)容,不會對JS代碼中攜帶的信息進(jìn)行完整的解析,也就無法從JS代碼中解析出第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y)?;诖?,WEB客戶端2不會在第二訪問請求中添加挑戰(zhàn)值,即第二訪問請求中只會攜帶用戶名、密碼;或者,WEB客戶端2自身隨機(jī)生成一個挑戰(zhàn)值k,該挑戰(zhàn)值k與第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y)無關(guān),此時第二訪問請求中可以攜帶用戶名、密碼和挑戰(zhàn)值k。在一個例子中,出于不同的目的,攻擊者使用WEB掃描軟件對WEB服務(wù)器進(jìn)行漏洞掃描的過程越來越多,漏洞掃描是進(jìn)一步進(jìn)行漏洞挖掘的前提。對于目前的WEB掃描軟件來說,會模擬WEB客戶端向WEB服務(wù)器發(fā)送訪問請求,但是WEB掃描軟件需要在短時間內(nèi)發(fā)送大量訪問請求,因此不會對重定向消息的JS代碼中攜帶的信息進(jìn)行完整解析,以加快訪問請求的發(fā)送速度,正是基于這一原理,可以在重定向消息的JS代碼中攜帶第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y),合法用戶使用的WEB客戶端1可以解析重定向消息的JS代碼中的所有內(nèi)容,繼而從該JS代碼中解析出第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y),而攻擊者使用的WEB客戶端2不會解析重定向消息的JS代碼中的所有內(nèi)容,從而無法從該JS代碼中解析出第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y)。這樣,就可以區(qū)分出合法用戶使用的WEB客戶端和攻擊者使用的WEB客戶端,從而對二者進(jìn)行區(qū)分處理,以保證WEB服務(wù)器的安全性,且不影響用戶的使用。此外,若攻擊者使用的WEB客戶端2解析重定向消息的JS代碼中的所有內(nèi)容,繼而從該JS代碼中解析出第二數(shù)值y1和預(yù)設(shè)第二算法x=f’(y),由于這一過程會消耗WEB客戶端2大量的時間,顯著提高了WEB客戶端2的掃描運(yùn)算量,WEB客戶端2就無法在短時間內(nèi)發(fā)送大量訪問請求,也就無法有效的對WEB服務(wù)器進(jìn)行漏洞掃描,從而影響漏洞掃描過程,導(dǎo)致漏洞掃描失敗。在一個例子中,WEB客戶端在接收到來自WEB服務(wù)器的重定向消息之后,用戶在登錄頁面上輸入用戶名和密碼的過程,與WEB客戶端生成挑戰(zhàn)值x1的過程,二者可以是同時進(jìn)行的,因此不會影響正常的WEB頁面訪問過程。而且,在正常情況下,用戶輸入用戶名和密碼(通常會限制密碼的最小長度)會耗費(fèi)一定的時間,因此當(dāng)密碼輸入完成后,WEB客戶端已經(jīng)生成挑戰(zhàn)值x1。在一個例子中,WEB客戶端可以將挑戰(zhàn)值x1添加到第二訪問請求的cookie中。當(dāng)然,在實(shí)際應(yīng)用中,并不局限于將挑戰(zhàn)值x1添加到cookie中,還可以將該挑戰(zhàn)值x1添加到get(得到)參數(shù)或者post(傳輸)參數(shù)中,對此不做限制。步驟5、WEB服務(wù)器在接收到來自WEB客戶端的第二訪問請求時,統(tǒng)計WEB服務(wù)器向WEB客戶端發(fā)送重定向消息的時間,與WEB服務(wù)器接收到來自該WEB客戶端的第二訪問請求的時間之間的時間間隔。若該時間間隔小于預(yù)設(shè)時間閾值,則執(zhí)行步驟9;若該時間間隔不小于預(yù)設(shè)時間閾值,則執(zhí)行步驟6。在一個例子中,預(yù)設(shè)時間閾值可以根據(jù)實(shí)際經(jīng)驗(yàn)進(jìn)行設(shè)置。例如,預(yù)設(shè)時間閾值可以大于用戶在登錄頁面上輸入用戶名和密碼的時間,也大于(WEB客戶端解析JS代碼中所有內(nèi)容的時間+生成挑戰(zhàn)值的時間,如采用RSA解密算法生成挑戰(zhàn)值的時間),對此預(yù)設(shè)時間閾值的設(shè)置,本發(fā)明實(shí)施例中不做限制。在一個例子中,通過比較該時間間隔是否小于預(yù)設(shè)時間閾值,對于WEB掃描軟件來說,其需要在短時間內(nèi)發(fā)送大量訪問請求,因此攻擊者使用的WEB客戶端發(fā)送的第二訪問請求的時間,與WEB服務(wù)器發(fā)送重定向消息的時間之間的時間間隔,會小于預(yù)設(shè)時間閾值,因此,可以直接執(zhí)行步驟9。而合法用戶使用的WEB客戶端發(fā)送的第二訪問請求的時間,與WEB服務(wù)器發(fā)送重定向消息的時間之間的時間間隔,會大于預(yù)設(shè)時間閾值,因此,可以直接執(zhí)行步驟6。步驟6,WEB服務(wù)器判斷第二訪問請求中是否攜帶挑戰(zhàn)值。如果是,則執(zhí)行步驟7;如果否,則執(zhí)行步驟9。其中,對于來自WEB客戶端1的第二訪問請求來說,該第二訪問請求中會攜帶挑戰(zhàn)值x1。對于來自WEB客戶端2的第二訪問請求來說,該第二訪問請求中會攜帶挑戰(zhàn)值k或者未攜帶挑戰(zhàn)值。步驟7、WEB服務(wù)器比較該第二訪問請求中攜帶的挑戰(zhàn)值與上述的第一數(shù)值x1是否相同。如果相同,則執(zhí)行步驟8;如果不同,則執(zhí)行步驟9。其中,對于來自WEB客戶端1的第二訪問請求來說,第二訪問請求中攜帶的挑戰(zhàn)值x1與上述的第一數(shù)值x1相同。對于來自WEB客戶端2的第二訪問請求來說,第二訪問請求中攜帶的挑戰(zhàn)值k與上述的第一數(shù)值x1不同。步驟8、WEB服務(wù)器允許WEB客戶端訪問本W(wǎng)EB服務(wù)器。例如,WEB服務(wù)器可以允許WEB客戶端1訪問本W(wǎng)EB服務(wù)器,基于此,WEB客戶端1可以從WEB服務(wù)器上獲取到WEB頁面服務(wù)。步驟9、WEB服務(wù)器禁止WEB客戶端訪問本W(wǎng)EB服務(wù)器。例如,WEB服務(wù)器可以禁止WEB客戶端2訪問本W(wǎng)EB服務(wù)器,基于此,WEB客戶端2無法從WEB服務(wù)器上獲取到WEB頁面服務(wù)。在一個例子中,WEB服務(wù)器允許WEB客戶端訪問本W(wǎng)EB服務(wù)器之后,還可以向WEB客戶端返回一個唯一標(biāo)識,例如sessionID(會話標(biāo)識)。在后續(xù)過程中,WEB客戶端可以直接使用該sessionID作為此次登錄的唯一標(biāo)識,并可以訪問到WEB服務(wù)器,不再執(zhí)行上述步驟,不用重新輸入用戶名密碼等信息。在一個例子中,WEB服務(wù)器允許WEB客戶端訪問本W(wǎng)EB服務(wù)器之后,還可以將WEB客戶端對應(yīng)的IP地址添加到白名單中。當(dāng)該WEB客戶端再次訪問WEB服務(wù)器時,WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求時,若獲知WEB客戶端對應(yīng)的IP地址在白名單中,則采用傳統(tǒng)方式向WEB客戶端發(fā)送重定向消息,不再采用上述方式對WEB客戶端進(jìn)行校驗(yàn),在此不再贅述。在一個例子中,WEB服務(wù)器禁止WEB客戶端訪問本W(wǎng)EB服務(wù)器之后,還可以將WEB客戶端對應(yīng)的IP地址添加到黑名單中。當(dāng)該WEB客戶端再次訪問WEB服務(wù)器時,WEB服務(wù)器在接收到來自WEB客戶端的第一訪問請求時,若獲知WEB客戶端對應(yīng)的IP地址在黑名單中,則直接丟棄第一訪問請求,不再向WEB客戶端發(fā)送重定向消息,不響應(yīng)來自此IP地址的任何后續(xù)請求?;谏鲜黾夹g(shù)方案,本發(fā)明實(shí)施例中,可以由WEB服務(wù)器對接收到的訪問請求進(jìn)行分析,若分析出訪問請求是合法用戶發(fā)送的,則允許WEB客戶端訪問WEB服務(wù)器,若分析出訪問請求是攻擊者發(fā)送的,則禁止WEB客戶端訪問WEB服務(wù)器,從而可以保障WEB服務(wù)器的安全性,防止攻擊者對WEB服務(wù)器的攻擊,對用戶的干擾比較小,而且不需要在WEB服務(wù)器之前部署防火墻設(shè)備或者入侵檢測設(shè)備等安全設(shè)備。尤其是針對WEB掃描軟件來說,由于WEB掃描軟件不會對WEB服務(wù)器返回的JS代碼進(jìn)行完整解析,因此,WEB掃描軟件不會發(fā)送符合檢測要求的訪問請求,可以避免其訪問WEB服務(wù)器,可以有效防止WEB掃描軟件對WEB服務(wù)器進(jìn)行內(nèi)容掃描,從而阻止進(jìn)一步的滲透攻擊?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種WEB頁面訪問裝置,可以應(yīng)用在WEB服務(wù)器上。該WEB頁面訪問裝置可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在的WEB服務(wù)器的處理器,讀取非易失性存儲器中對應(yīng)的計算機(jī)程序指令形成的。從硬件層面而言,如圖4所示,為本發(fā)明提出的WEB頁面訪問裝置所在的WEB服務(wù)器的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、非易失性存儲器外,WEB服務(wù)器還包括其他硬件,如負(fù)責(zé)處理報文的轉(zhuǎn)發(fā)芯片、網(wǎng)絡(luò)接口、內(nèi)存等;從硬件結(jié)構(gòu)上來講,WEB服務(wù)器還可能是分布式設(shè)備,可能包括多個接口卡,以便在硬件層面進(jìn)行報文處理的擴(kuò)展。如圖5所示,為本發(fā)明提出的WEB頁面訪問裝置的結(jié)構(gòu)圖,該裝置包括:第一處理模塊11,用于在接收到來自WEB客戶端的第一訪問請求時,獲得第一數(shù)值和第二數(shù)值,向所述WEB客戶端發(fā)送重定向消息,所述重定向消息中攜帶所述第二數(shù)值和預(yù)設(shè)第二算法;其中,所述第二數(shù)值是基于所述第一數(shù)值和預(yù)設(shè)第一算法確定的,且所述預(yù)設(shè)第二算法是所述預(yù)設(shè)第一算法的逆算法;第二處理模塊12,用于在接收到來自WEB客戶端的第二訪問請求時,若所述第二訪問請求中攜帶挑戰(zhàn)值,則比較所述挑戰(zhàn)值與所述第一數(shù)值是否相同;其中,所述挑戰(zhàn)值是所述WEB客戶端利用所述第二數(shù)值和所述預(yù)設(shè)第二算法生成的;若相同,允許所述WEB客戶端訪問所述WEB服務(wù)器;若不同或所述第二訪問請求中沒有攜帶挑戰(zhàn)值,禁止所述WEB客戶端訪問所述WEB服務(wù)器。所述第一處理模塊11,具體用于在獲得第一數(shù)值和第二數(shù)值的過程中,隨機(jī)生成第一數(shù)值,并利用所述第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值;或者,在接收到來自所述WEB客戶端的第一訪問請求之前,隨機(jī)生成第一數(shù)值,并利用所述第一數(shù)值和預(yù)設(shè)第一算法生成第二數(shù)值,并將所述第一數(shù)值和所述第二數(shù)值存儲在預(yù)先配置的數(shù)據(jù)表中;在接收到來自所述WEB客戶端的第一訪問請求之后,從所述數(shù)據(jù)表中查詢到所述第一數(shù)值和所述第二數(shù)值。所述預(yù)設(shè)第一算法的消耗時間小于所述預(yù)設(shè)第二算法的消耗時間;所述預(yù)設(shè)第一算法包括RSA加密算法,所述預(yù)設(shè)第二算法包括RSA解密算法。所述第二處理模塊12,還用于在接收到來自所述WEB客戶端的第二訪問請求之后,統(tǒng)計向所述WEB客戶端發(fā)送重定向消息的時間,與接收到來自所述WEB客戶端的第二訪問請求的時間之間的時間間隔;若所述時間間隔小于預(yù)設(shè)時間閾值,禁止所述WEB客戶端訪問所述WEB服務(wù)器;若所述時間間隔不小于所述預(yù)設(shè)時間閾值,則執(zhí)行比較所述挑戰(zhàn)值與所述第一數(shù)值是否相同的過程。在一個例子中,所述重定向消息中攜帶JS代碼,且所述JS代碼中攜帶所述第二數(shù)值和所述預(yù)設(shè)第二算法;合法的WEB客戶端需要解析所述JS代碼中攜帶的所述第二數(shù)值和所述預(yù)設(shè)第二算法,并利用所述第二數(shù)值和所述預(yù)設(shè)第二算法生成挑戰(zhàn)值,且將所述挑戰(zhàn)值添加到所述第二訪問請求的cookie信息中進(jìn)行發(fā)送;非法掃描的WEB客戶端不會對所述JS代碼中攜帶的信息進(jìn)行解析。其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊?;谏鲜黾夹g(shù)方案,本發(fā)明實(shí)施例中,可以由WEB服務(wù)器對接收到的訪問請求進(jìn)行分析,若分析出訪問請求是合法用戶發(fā)送的,則允許WEB客戶端訪問WEB服務(wù)器,若分析出訪問請求是攻擊者發(fā)送的,則禁止WEB客戶端訪問WEB服務(wù)器,從而可以保障WEB服務(wù)器的安全性,防止攻擊者對WEB服務(wù)器的攻擊,對用戶的干擾比較小,而且不需要在WEB服務(wù)器之前部署防火墻設(shè)備或者入侵檢測設(shè)備等安全設(shè)備。尤其是針對WEB掃描軟件來說,由于WEB掃描軟件不會對WEB服務(wù)器返回的JS代碼進(jìn)行完整解析,因此,WEB掃描軟件不會發(fā)送符合檢測要求的訪問請求,可以避免其訪問WEB服務(wù)器,可以有效防止WEB掃描軟件對WEB服務(wù)器進(jìn)行內(nèi)容掃描,從而阻止進(jìn)一步的滲透攻擊。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個或多個裝置中。上述實(shí)施例的模塊可以合并為一個模塊,也可進(jìn)一步拆分成多個子模塊。上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1