本申請(qǐng)涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種訪問控制方法和裝置以及服務(wù)器。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,用戶通過客戶端訪問服務(wù)器的網(wǎng)絡(luò)訪問行為也日益增多。為了保證客戶端與服務(wù)器之間數(shù)據(jù)交互的安全性,客戶端與服務(wù)器會(huì)按照預(yù)設(shè)的加密算法對(duì)交互數(shù)據(jù)進(jìn)行加密。
采用加密算法對(duì)客戶端與服務(wù)器的交互數(shù)據(jù)進(jìn)行加密,在一定程度上可以提高數(shù)據(jù)的安全性。但是一旦客戶端與服務(wù)器之間的加密算法被破解,破解該加密算法的用戶就可以利用爬蟲或者其他工具偽裝成客戶端來對(duì)服務(wù)器進(jìn)行惡意訪問,從而導(dǎo)致服務(wù)器中的數(shù)據(jù)被泄露,影響了數(shù)據(jù)安全性。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝艘环N訪問控制方法,以降低服務(wù)器中數(shù)據(jù)被泄露的風(fēng)險(xiǎn),提高數(shù)據(jù)安全性。
本申請(qǐng)還提供了一種訪問控制裝置以及服務(wù)器,用以保證上述方法在實(shí)際中的實(shí)現(xiàn)及應(yīng)用。
為了解決上述問題,本申請(qǐng)的第一方面提供了一種訪問控制方法,包括:
接收訪問請(qǐng)求;
獲取所述訪問請(qǐng)求的發(fā)送端參數(shù),其中,所述發(fā)送端參數(shù)至少包括:所述訪問請(qǐng)求的發(fā)送端的IP地址;
基于所述IP地址,獲取所述發(fā)送端所開放的端口信息;
若基于所述端口信息,確定出所述發(fā)送端為代理服務(wù)器,則拒絕所述訪問請(qǐng)求。
優(yōu)選的,所述發(fā)送端參數(shù)還包括:認(rèn)證標(biāo)識(shí);
則,在所述基于所述IP地址,獲取所述發(fā)送端所開放的端口信息之前,還包括:
驗(yàn)證所述認(rèn)證標(biāo)識(shí)是否為有效認(rèn)證標(biāo)識(shí),其中,有效認(rèn)證標(biāo)識(shí)為在當(dāng)前時(shí)刻之前,為認(rèn)證通過的發(fā)送端生成的標(biāo)識(shí);
如果是,則執(zhí)行所述基于所述IP地址,獲取所述發(fā)送端所開放的端口信息。
優(yōu)選的,所述發(fā)送端參數(shù)還包括:待驗(yàn)證數(shù)字簽名;
則,在執(zhí)行所述基于所述IP地址,獲取所述發(fā)送端所開放的端口信息之前,還包括:
驗(yàn)證所述待驗(yàn)證數(shù)字簽名是否為基于歷史動(dòng)態(tài)密鑰生成的數(shù)字簽名,其中,所述歷史動(dòng)態(tài)密鑰為在當(dāng)前時(shí)刻之前最近一次響應(yīng)于以所述認(rèn)證標(biāo)識(shí)發(fā)起的訪問請(qǐng)求,而生成的動(dòng)態(tài)密鑰;
如果是,則執(zhí)行所述基于所述IP地址,獲取所述發(fā)送端所開放的端口信息;
如果否,則拒絕所述訪問請(qǐng)求。
優(yōu)選的,還包括:
若基于所述端口信息,確定出所述發(fā)送端不是代理服務(wù)器時(shí),則生成與所述認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的更新用動(dòng)態(tài)密鑰,并存儲(chǔ)所述認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的更新用動(dòng)態(tài)密鑰;
將所述更新用動(dòng)態(tài)密鑰發(fā)送給所述發(fā)送端,以便所述發(fā)送端將本地存儲(chǔ)的動(dòng)態(tài)密鑰更新為所述更新用動(dòng)態(tài)密鑰。
優(yōu)選的,所述拒絕所述訪問請(qǐng)求,包括:
將所述IP地址加入黑名單;
和/或,向所述發(fā)送端發(fā)送與所述訪問請(qǐng)求所請(qǐng)求的數(shù)據(jù)不同的數(shù)據(jù)。
優(yōu)選的,所述發(fā)送端參數(shù)還包括以下一種或幾種:
MAC地址、設(shè)備標(biāo)識(shí)和認(rèn)證標(biāo)識(shí);其中,所述認(rèn)證標(biāo)識(shí)為在所述發(fā) 送端認(rèn)證通過后,為所述發(fā)送端生成的標(biāo)識(shí);
則,在所述基于所述IP地址,獲取所述發(fā)送端所開放的端口信息之前,還包括:
判斷當(dāng)前時(shí)刻所述發(fā)送端參數(shù)是否滿足預(yù)設(shè)條件;
如果所述發(fā)送端參數(shù)中存在滿足所述預(yù)設(shè)條件的至少一個(gè)發(fā)送端參數(shù),則執(zhí)行所述基于所述IP地址,獲取所述發(fā)送端所開放的端口信息的操作;否則,拒絕所述訪問請(qǐng)求。
優(yōu)選的,所述訪問請(qǐng)求為http請(qǐng)求,所述方法還包括:
檢測(cè)所述http請(qǐng)求的通用頭域的值是否為空;
如果是,則執(zhí)行所述基于所述IP地址,獲取所述發(fā)送端所開放的端口信息的操作;否則,則拒絕所述http請(qǐng)求。
在本申請(qǐng)的第二方面,本申請(qǐng)?zhí)峁┝艘环N訪問控制裝置,包括:
接收單元,用于接收訪問請(qǐng)求;
參數(shù)獲取單元,用于獲取所述訪問請(qǐng)求的發(fā)送端參數(shù),其中,所述發(fā)送端參數(shù)至少包括:所述訪問請(qǐng)求的發(fā)送端的IP地址;
端口查詢單元,用于基于所述IP地址,獲取所述發(fā)送端所開放的端口信息;
訪問處理單元,用于若基于所述端口信息,確定出所述發(fā)送端為代理服務(wù)器,則拒絕所述訪問請(qǐng)求。
優(yōu)選的,所述參數(shù)獲取單元獲取到的發(fā)送端參數(shù)還包括:認(rèn)證標(biāo)識(shí);
則所述裝置還包括:
身份驗(yàn)證單元,用于驗(yàn)證所述認(rèn)證標(biāo)識(shí)是否為有效認(rèn)證標(biāo)識(shí),其中,有效認(rèn)證標(biāo)識(shí)為在當(dāng)前時(shí)刻之前,為認(rèn)證通過的發(fā)送端生成的標(biāo)識(shí);如果是,則觸發(fā)執(zhí)行端口查詢單元的操作;否則,拒絕所述訪問請(qǐng)求。
優(yōu)選的,所述發(fā)送端參數(shù)還包括:待驗(yàn)證數(shù)字簽名;
則,所述裝置還包括:
密鑰驗(yàn)證單元,用于在所述身份驗(yàn)證單元驗(yàn)證出所述認(rèn)證標(biāo)識(shí)為有效認(rèn)證標(biāo)識(shí)之后,驗(yàn)證所述待驗(yàn)證數(shù)字簽名是否為基于歷史動(dòng)態(tài)密鑰生成的數(shù)字簽名,如果是,則觸發(fā)執(zhí)行所述端口查詢單元的操作;否則,拒 絕所述訪問請(qǐng)求;其中,所述歷史動(dòng)態(tài)密鑰為在當(dāng)前時(shí)刻之前最近一次響應(yīng)于以所述認(rèn)證標(biāo)識(shí)發(fā)起的訪問請(qǐng)求,而生成的動(dòng)態(tài)密鑰。
優(yōu)選的,還包括:
密鑰更新單元,用于若基于所述端口信息,確定出所述發(fā)送端不是代理服務(wù)器時(shí),則生成與所述認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的更新用動(dòng)態(tài)密鑰,并存儲(chǔ)所述認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的更新用動(dòng)態(tài)密鑰;
密鑰發(fā)送單元,用于將所述更新用動(dòng)態(tài)密鑰發(fā)送給所述發(fā)送端,以便所述發(fā)送端將本地存儲(chǔ)的動(dòng)態(tài)密鑰更新為所述更新用動(dòng)態(tài)密鑰。
優(yōu)選的,所述訪問處理單元、身份驗(yàn)證單元或者密鑰驗(yàn)證單元執(zhí)行的所述拒絕所述訪問請(qǐng)求,包括:將所述IP地址加入黑名單;和/或,向所述發(fā)送端發(fā)送與所述訪問請(qǐng)求所請(qǐng)求的數(shù)據(jù)不同的數(shù)據(jù)。
優(yōu)選的,所述參數(shù)獲取單元獲取到的所述發(fā)送端參數(shù)還包括以下一種或多種:
MAC地址、設(shè)備標(biāo)識(shí)和/或認(rèn)證標(biāo)識(shí);其中,所述認(rèn)證標(biāo)識(shí)在所述發(fā)送端認(rèn)證通過后,為所述發(fā)送端生成的標(biāo)識(shí);
則所述裝置還包括:
條件判斷單元,用于在所述端口查詢單元獲取所述發(fā)送端所開放的端口信息之前,判斷當(dāng)前時(shí)刻所述發(fā)送端參數(shù)是否滿足預(yù)設(shè)條件,且如果所述發(fā)送端參數(shù)中存在滿足所述預(yù)設(shè)條件的至少一個(gè)發(fā)送端參數(shù),則觸發(fā)執(zhí)行所述端口查詢單元的操作,否則,拒絕所述訪問請(qǐng)求。
優(yōu)選的,所述接收單元包括:
接收子單元,用于接收http請(qǐng)求;
則所述裝置,還包括:
頭域檢測(cè)單元,用于在所述端口查詢單元獲取所述發(fā)送端所開放的端口信息之前,檢測(cè)所述http請(qǐng)求的通用頭域的值是否為空,如果為空,則觸發(fā)執(zhí)行所述端口查詢單元的操作,否則,拒絕所述端口查詢單元的操作。
在本申請(qǐng)的第三方面,本申請(qǐng)?zhí)峁┝艘环N服務(wù)器,包括:
收發(fā)器,接收訪問請(qǐng)求;
處理器,用于獲取所述訪問請(qǐng)求的發(fā)送端參數(shù),其中,所述發(fā)送端參數(shù)至少包括:所述訪問請(qǐng)求的發(fā)送端的IP地址;基于所述IP地址,獲取所述發(fā)送端所開放的端口信息;若基于所述端口信息,確定出所述發(fā)送端為代理服務(wù)器,則拒絕所述訪問請(qǐng)求。
與現(xiàn)有技術(shù)相比,本申請(qǐng)包括以下優(yōu)點(diǎn):服務(wù)器接收到訪問請(qǐng)求后,需要基于該訪問請(qǐng)求的發(fā)送端的IP地址,獲取該發(fā)送端的端口信息,如果基于發(fā)送端的端口信息,確定出該發(fā)送端為代理服務(wù)器,則拒絕該訪問請(qǐng)求,從而限制了基于代理服務(wù)器來訪問服務(wù)器的訪問行為,減少了利用代理服務(wù)器來不斷更換IP地址而對(duì)服務(wù)器進(jìn)行惡意訪問的訪問行為,從而降低了服務(wù)器中數(shù)據(jù)被泄露的風(fēng)險(xiǎn),提高了數(shù)據(jù)安全性。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示出了本申請(qǐng)一種訪問控制方法一個(gè)實(shí)施例的流程示意圖;
圖2示出了本申請(qǐng)一種訪問控制方法另一個(gè)實(shí)施例的流程示意圖;
圖3示出了本申請(qǐng)一種訪問控制方法中涉及的認(rèn)證過程的流程示意圖;
圖4示出了本申請(qǐng)一種訪問控制裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖5示出了本申請(qǐng)一種訪問控制裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖6示出了本申請(qǐng)一種服務(wù)器一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí) 施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
本申請(qǐng)的主要思想之一為通過對(duì)服務(wù)器接收到的訪問請(qǐng)求的發(fā)送端進(jìn)行識(shí)別,如果識(shí)別出發(fā)送端為代理服務(wù)器,則拒絕該訪問請(qǐng)求,以減少利用代理服務(wù)器來惡意訪問服務(wù)器的行為,從而減少了對(duì)服務(wù)器的惡意訪問,降低了服務(wù)器中數(shù)據(jù)被泄露的風(fēng)險(xiǎn),提高了數(shù)據(jù)安全性。
首先介紹本申請(qǐng)的一種訪問控制方法。
參見圖1,其示出了本申請(qǐng)一種訪問控制方法一個(gè)實(shí)施例的流程示意圖,本實(shí)施例的方法可以包括:
101,接收訪問請(qǐng)求。
102,獲取該訪問請(qǐng)求的發(fā)送端參數(shù),該發(fā)送端參數(shù)至少包括:該訪問請(qǐng)求的發(fā)送端的IP地址。
其中,IP地址是指互聯(lián)網(wǎng)協(xié)議地址,也稱為國際協(xié)議地址(IP,Internet Protocol Address)。
服務(wù)器接收到訪問請(qǐng)求后,可以確定發(fā)送該訪問請(qǐng)求的發(fā)送端的IP地址。而確定發(fā)送端的IP地址的方式可以與現(xiàn)有的相同,如,以數(shù)據(jù)包的形式發(fā)送訪問請(qǐng)求時(shí),則該數(shù)據(jù)包中除了訪問請(qǐng)求外,還可以包括該發(fā)送端的IP地址,從而基于該數(shù)據(jù)包中的IP地址確定發(fā)送端的IP地址。當(dāng)然,現(xiàn)有的其他確定IP地址的方式也同樣適用于本申請(qǐng),在此不再贅述。
103,基于該IP地址,獲取該發(fā)送端所開放的端口信息。
104,若基于該端口信息,確定出該發(fā)送端為代理服務(wù)器,則拒絕所述訪問請(qǐng)求。
其中,該端口信息中可以包括該發(fā)送端所開發(fā)的端口數(shù)量、發(fā)送端開放的各個(gè)端口的端口名稱等信息中的一個(gè)或多個(gè)。
本申請(qǐng)的發(fā)明人對(duì)網(wǎng)絡(luò)訪問行為進(jìn)行研究發(fā)現(xiàn),在正常訪問服務(wù)器的過程中,普通用戶一般會(huì)通過客戶端來發(fā)送的訪問請(qǐng)求,該訪問請(qǐng)求所對(duì)應(yīng)的IP地址為該客戶端所在的IP地址,該IP地址較為固定。而如果 是用戶利用爬蟲或者其他工具來惡意訪問服務(wù)器,則會(huì)利用代理服務(wù)器來不斷變化IP地址,以突破基于IP訪問次數(shù)的訪問限制。因此,可以通過識(shí)別發(fā)送端是否為代理服務(wù)器,并通過限制以代理服務(wù)器發(fā)送的訪問請(qǐng)求,來阻止惡意訪問行為。
同時(shí),發(fā)明人經(jīng)研究發(fā)現(xiàn),一般情況下,代理服務(wù)器開放的端口數(shù)量較多,因此,可以通過反查該訪問請(qǐng)求的發(fā)送端的端口信息,來識(shí)別該發(fā)送端是否為代理服務(wù)器。
基于發(fā)明人的以上研究發(fā)現(xiàn),本申請(qǐng)實(shí)施例在確定出該訪問請(qǐng)求的發(fā)送端的IP地址后,需要基于該IP地址,獲取該發(fā)送端開放的端口信息,以基于端口信息識(shí)別該發(fā)送端是否為代理服務(wù)器。
可見,在本申請(qǐng)實(shí)施例中,服務(wù)器接收到訪問請(qǐng)求后,需要基于該訪問請(qǐng)求的發(fā)送端的IP地址,獲取該發(fā)送端的端口信息,如果基于發(fā)送端的端口信息,確定出該發(fā)送端為代理服務(wù)器,則拒絕該訪問請(qǐng)求,從而限制了基于代理服務(wù)器來訪問服務(wù)器的訪問行為,減少了利用代理服務(wù)器來不斷更換IP地址而對(duì)服務(wù)器進(jìn)行惡意訪問的訪問行為,從而減少了服務(wù)器中數(shù)據(jù)被泄露的風(fēng)險(xiǎn),提高了數(shù)據(jù)安全性。
可以理解的是,在以上實(shí)施例中,服務(wù)器中也可以預(yù)先設(shè)置IP地址的黑名單,以對(duì)以黑名單中的IP地址發(fā)起的訪問請(qǐng)求進(jìn)行限制。則,在基于該IP地址,獲取該發(fā)送端所開放的端口信息之前,還包括:判斷該IP地址是否為黑名單中的IP地址。如果該IP地址為黑名單中的IP地址,則可以直接拒絕該訪問請(qǐng)求;如果該IP地址不是黑名單的IP地址,則還需要基于所述IP地址,獲取該發(fā)送端所開放的端口信息,以識(shí)別該發(fā)送端是否為代理服務(wù)器。
其中,該黑名單可以根據(jù)需要設(shè)定,如可以基于歷史訪問記錄,如果以某個(gè)IP地址發(fā)起訪問請(qǐng)求的次數(shù)超過預(yù)設(shè)次數(shù),則將該IP地址加入黑名單。
需要說明的,在本申請(qǐng)以上任意一個(gè)實(shí)施例中,拒絕該訪問請(qǐng)求可以 有多種實(shí)現(xiàn)形式。
其中,拒絕該訪問請(qǐng)求的一種實(shí)現(xiàn)形式可以為:不響應(yīng)該訪問請(qǐng)求,拒絕為該訪問請(qǐng)求的發(fā)送端返回該訪問請(qǐng)求所請(qǐng)求的數(shù)據(jù)。
拒絕該訪問請(qǐng)求的另一種實(shí)現(xiàn)方式可以為:向該訪問請(qǐng)求的發(fā)送端發(fā)送虛假數(shù)據(jù)。其中,虛假數(shù)據(jù)與所述訪問請(qǐng)求所請(qǐng)求的數(shù)據(jù)不同。通過發(fā)送虛假數(shù)據(jù)可以迷惑惡意訪問行為的發(fā)送端,使得發(fā)送端只能獲取到錯(cuò)誤數(shù)據(jù)。
拒絕該訪問請(qǐng)求的另一種實(shí)現(xiàn)形式可以為:將該IP地址加入黑名單,從而也不會(huì)為該發(fā)送端返回?cái)?shù)據(jù)。
可以理解的是,拒絕該訪問請(qǐng)求也可以是以上幾種形式中任意兩種形式的組合。如,可以在不響應(yīng)該訪問請(qǐng)求的同時(shí),將該IP地址加入黑名單;又如,在為發(fā)送端返回虛假數(shù)據(jù)的同時(shí),將該IP地址加入黑名單。
可以理解的是,該訪問請(qǐng)求可以為基于現(xiàn)有任意網(wǎng)絡(luò)協(xié)議的訪問請(qǐng)求;如,該訪問請(qǐng)求可以為超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol)請(qǐng)求。
特別的,發(fā)明人通過對(duì)http請(qǐng)求的發(fā)送過程進(jìn)行研究發(fā)現(xiàn):當(dāng)客戶端發(fā)送的http請(qǐng)求經(jīng)過一個(gè)代理服務(wù)器后,該代理服務(wù)器會(huì)在該http請(qǐng)求中里面添加通用頭域Via,并填上自己的相關(guān)信息。由此可知,經(jīng)代理服務(wù)器發(fā)出的http請(qǐng)求的通用頭域Via中會(huì)具有相應(yīng)的值。因此,當(dāng)服務(wù)器接收到的訪問請(qǐng)求為http請(qǐng)求時(shí),可以通過檢測(cè)該http請(qǐng)求中的通用頭域Via是否為空,就可以判斷該http請(qǐng)求的發(fā)送端是否為代理服務(wù)器。
則,在基于所述IP地址,獲取所述發(fā)送端所開放的端口信息之前,還可以檢測(cè)http請(qǐng)求的通用頭域via的值是否為空。如果http請(qǐng)求的通用頭域via的值不為空,則說明該http請(qǐng)求經(jīng)代理服務(wù)器發(fā)送,從而可以拒絕該http請(qǐng)求。
而由于高度匿名的代理服務(wù)器也可以做到不在該http請(qǐng)求中的通用頭域Via中添加該代理服務(wù)器的相關(guān)信息。也就是說,如果該http請(qǐng)求 的通用頭域via的值為空,該http請(qǐng)求也有可能是通過代理服務(wù)器發(fā)送的,因此,如果所述http-VIA值不為空,仍需要執(zhí)行基于該IP地址,獲取所述發(fā)送端所開放的端口信息的操作,以便最終識(shí)別出發(fā)送端為代理服務(wù)器的訪問請(qǐng)求。
可以理解的是,考慮到普通客戶端利用代理服務(wù)器向該服務(wù)器發(fā)送請(qǐng)求的概率較低,為了避免誤判,并提高識(shí)別出的代理服務(wù)器的準(zhǔn)確度,在以上任意一個(gè)實(shí)施例中,在獲取所述發(fā)送端所開放的端口信息之前,還可以判斷該訪問請(qǐng)求對(duì)應(yīng)的發(fā)送端參數(shù)是否滿足預(yù)設(shè)條件。如果該發(fā)送端參數(shù)滿足預(yù)設(shè)條件,則執(zhí)行該基于該IP地址,獲取發(fā)送端所開放的端口信息。
其中,發(fā)送端參數(shù)除了前面提到的IP地址外,還可以有其他參數(shù),而該預(yù)設(shè)條件可以為分別針對(duì)不同發(fā)送端參數(shù)設(shè)定的預(yù)設(shè)條件。該發(fā)送端參數(shù)可以包括該IP地址、該訪問請(qǐng)求攜帶的MAC(Media Access Control,介質(zhì)訪問控制)地址、該訪問請(qǐng)求攜帶的設(shè)備標(biāo)識(shí)等參數(shù)中的一個(gè)或多個(gè)。其中,客戶端為移動(dòng)設(shè)備時(shí),則該設(shè)備標(biāo)識(shí)可以為移動(dòng)設(shè)備國際識(shí)別碼(IMEI,International Mobile Equipment Identity)
而該預(yù)設(shè)條件也可以根據(jù)需要進(jìn)行設(shè)定。如該預(yù)設(shè)條件可以包括:在第一指定時(shí)長內(nèi),以該IP地址、MAC地址或該設(shè)備標(biāo)識(shí)發(fā)起的認(rèn)證請(qǐng)求并獲取到該有認(rèn)證標(biāo)識(shí)的次數(shù)不超過第一預(yù)設(shè)次數(shù);或者,在第二指定時(shí)長內(nèi),以該IP地址、MAC地址或設(shè)備標(biāo)識(shí)發(fā)起訪問請(qǐng)求的次數(shù)不超過第二預(yù)設(shè)次數(shù)。其中,該第一預(yù)設(shè)次數(shù)和第二預(yù)設(shè)次數(shù)可以相同也可以不同,該第一指定時(shí)長和第二指定時(shí)長也可以相同或不同。
在實(shí)際應(yīng)用中,判斷預(yù)設(shè)參數(shù)是否滿足預(yù)設(shè)條件可以與前面實(shí)施例中相關(guān)的判斷條件相結(jié)合,如,可以先判斷該IP地址是否為黑名單中的IP地址;當(dāng)該IP地址不為黑名單中的IP地址時(shí),則可以判斷該發(fā)送端的發(fā)送端參數(shù)是否滿足預(yù)設(shè)條件,如果該發(fā)送端的參數(shù)不滿足預(yù)設(shè)條件,則執(zhí)行基于該IP地址,獲取發(fā)送端所開放的端口信息的操作。
為了便于理解,以訪問請(qǐng)求為http請(qǐng)求為例進(jìn)行詳細(xì)介紹。參見圖2, 其示出了本申請(qǐng)一種訪問控制方法另一個(gè)實(shí)施例的流程示意圖,需要說明的是,本實(shí)施例僅僅是一種優(yōu)選的實(shí)施方式但并不是唯一的實(shí)現(xiàn)方式。本實(shí)施例的方法可以包括:
201,接收http請(qǐng)求;
202,獲取該http請(qǐng)求對(duì)應(yīng)的發(fā)送端參數(shù);
該發(fā)送端參數(shù)包括IP地址、MAC地址和設(shè)備標(biāo)識(shí)。其中,該設(shè)備標(biāo)識(shí)可以IMEI。
其中,接收到的訪問請(qǐng)求可以攜帶有MAC地址和/或IMEI,則可以直接獲取到MAC地址和IMEI。如果訪問請(qǐng)求攜帶有IP地址,則可以直接獲取該發(fā)送端的IP地址,而如果訪問請(qǐng)求未攜帶IP地址,也可以通過現(xiàn)有的方式來確定發(fā)送端IP地址,如,在發(fā)送端與服務(wù)器握手過程中,確定該發(fā)送端IP地址。
當(dāng)然,該發(fā)送端參數(shù)除了包括IP地址外,還可以僅僅包括MAC地址或IMEI
203,檢測(cè)該IP地址是否為黑名單中的IP地址,如IP地址是黑名單中的IP地址,則執(zhí)行204;否則,則執(zhí)行步驟208;
204,檢測(cè)該http請(qǐng)求中的通用頭域Via的值是否為空,如果為空,則執(zhí)行步驟205;如不為空,則執(zhí)行步驟208;
205,檢測(cè)發(fā)送端參數(shù)中是否存在滿足預(yù)設(shè)條件的至少一個(gè)發(fā)送端參數(shù),如果存在,則執(zhí)行步驟206,否則,執(zhí)行步驟208;
其中,如果任意一個(gè)發(fā)送端參數(shù)滿足預(yù)設(shè)條件,則執(zhí)行該步驟206。
206,基于該IP地址,獲取該發(fā)送端所開放的端口信息;
207,基于該端口信息,判斷該發(fā)送端是否為代理服務(wù)器,如是,則執(zhí)行步驟208;否則,執(zhí)行步驟209。
208,拒絕該訪問請(qǐng)求。
209,響應(yīng)該訪問請(qǐng)求,為IP地址對(duì)應(yīng)的發(fā)送端返回響應(yīng)數(shù)據(jù)。
需要說明的是,本申請(qǐng)實(shí)施例僅僅是為了便于介紹以http請(qǐng)求為例來進(jìn)行的介紹,但是對(duì)于其他訪問請(qǐng)求除了可能不需要執(zhí)行步驟203外,其具體實(shí)現(xiàn)過程與圖2實(shí)現(xiàn)過程相似,如,在執(zhí)行了步驟202獲取到發(fā) 送端參數(shù)之后,同樣可以執(zhí)行203,并在IP地址不是黑名單中的IP地址時(shí),執(zhí)行該步驟205。
為了提高數(shù)據(jù)訪問的安全性,減少對(duì)服務(wù)器的惡意訪問行為,在本申請(qǐng)實(shí)施例中,服務(wù)器接收到發(fā)送端的認(rèn)證請(qǐng)求后,如果對(duì)該發(fā)送端認(rèn)證通過,則為該發(fā)送端生成一個(gè)用于唯一標(biāo)識(shí)該發(fā)送端的認(rèn)證標(biāo)識(shí)。服務(wù)器端將為該發(fā)送端生成的該認(rèn)證標(biāo)識(shí)作為有效認(rèn)證標(biāo)識(shí)進(jìn)行存儲(chǔ),并為該發(fā)送端返回該認(rèn)證標(biāo)識(shí)。
這樣,為了在發(fā)送端發(fā)起訪問請(qǐng)求時(shí),能夠驗(yàn)證該發(fā)送端是否為已經(jīng)通過認(rèn)證,則發(fā)送端每次向服務(wù)器發(fā)起的訪問請(qǐng)求中均需要攜帶該認(rèn)證標(biāo)識(shí)。同時(shí),服務(wù)器可以驗(yàn)證訪問請(qǐng)求所攜帶的認(rèn)證標(biāo)識(shí)是否為該服務(wù)器自身存儲(chǔ)的有效認(rèn)證標(biāo)識(shí),如果是,則對(duì)發(fā)送端的身份驗(yàn)證通過,執(zhí)行基于IP地址,獲取該發(fā)送端所開發(fā)的端口信息;否則,認(rèn)為該發(fā)送端的身份不可靠,拒絕該發(fā)送端的訪問請(qǐng)求。
需要說明的是,服務(wù)器存儲(chǔ)的有效認(rèn)證標(biāo)識(shí)為該服務(wù)器在當(dāng)前時(shí)刻之前,為認(rèn)證通過的發(fā)送端生成的認(rèn)證標(biāo)識(shí),由于服務(wù)器會(huì)為不同的發(fā)送端生成不同的認(rèn)證標(biāo)識(shí),所以服務(wù)器端會(huì)存儲(chǔ)有大量對(duì)應(yīng)著不同發(fā)送端的認(rèn)證標(biāo)識(shí)。
可以理解的是,為了進(jìn)一步提高認(rèn)證標(biāo)識(shí)的可靠性,服務(wù)器可以設(shè)定認(rèn)證標(biāo)識(shí)的有效時(shí)長,而服務(wù)器端存儲(chǔ)的有效認(rèn)證標(biāo)識(shí)可以認(rèn)為是服務(wù)器為認(rèn)證通過的發(fā)送端生成的,且處于有效時(shí)長內(nèi)的認(rèn)證標(biāo)識(shí)。
在現(xiàn)有的網(wǎng)絡(luò)訪問中,客戶端通過服務(wù)器的認(rèn)證之后,客戶端與服務(wù)器之間交互的數(shù)據(jù)一般都采用固定的加密密鑰進(jìn)行加密,這樣,加密密鑰很容易被破解,從而使得他人很容易獲取到客戶端的相關(guān)數(shù)據(jù),并通過模擬客戶端來惡意訪問服務(wù)器。
為了進(jìn)一步提高訪問的安全性,發(fā)送端與服務(wù)器之間交互的數(shù)據(jù)可以采用動(dòng)態(tài)密鑰進(jìn)行加密。所謂動(dòng)態(tài)密鑰是指每次發(fā)送端訪問該服務(wù)器所采用的密鑰均是不同的。
具體的,在服務(wù)器端對(duì)發(fā)送端認(rèn)證通過后,服務(wù)器端除了為發(fā)送端生成認(rèn)證標(biāo)識(shí)之前,服務(wù)器還會(huì)生成與該認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的動(dòng)態(tài)密鑰,且發(fā)送端首次以該認(rèn)證標(biāo)識(shí)發(fā)起訪問請(qǐng)求時(shí),訪問請(qǐng)求除了攜帶該認(rèn)證標(biāo)識(shí)外,還會(huì)攜帶利用該動(dòng)態(tài)密鑰加密的數(shù)字簽名。而服務(wù)器每次接收到該發(fā)送端以認(rèn)證標(biāo)識(shí)發(fā)起的訪問請(qǐng)求之后,均會(huì)更新認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的動(dòng)態(tài)密鑰,這樣發(fā)送端每次攜帶的數(shù)字簽名所用的動(dòng)態(tài)密鑰均不同,從而增加了密鑰被破解的難度,提高了客戶端與服務(wù)器之間數(shù)據(jù)交互的安全性,進(jìn)而避免了由于密鑰被破解,而導(dǎo)致發(fā)送端數(shù)據(jù)被竊取,使得他人惡意模擬發(fā)送器來惡意訪問服務(wù)器的情況。
為了便于理解,下面介紹下本申請(qǐng)實(shí)施例的訪問控制方法所基于的認(rèn)證過程,參見圖3,其示出了本申請(qǐng)一種訪問控制方法中發(fā)起端向服務(wù)器進(jìn)行認(rèn)證的一個(gè)實(shí)施例的流程示意圖。該過程可以包括:
301,接收發(fā)起端發(fā)送的認(rèn)證請(qǐng)求。
該認(rèn)證請(qǐng)求攜帶有數(shù)字簽名,還可以攜帶有發(fā)起端的MAC地址、發(fā)起端所在設(shè)備的設(shè)備標(biāo)識(shí)中的一個(gè)或多個(gè)。如,該設(shè)備標(biāo)識(shí)可以為移動(dòng)設(shè)備的IMEI等。
其中,該數(shù)字簽名為利用發(fā)起端預(yù)置的初始密鑰加密得到的簽名。
302,利用服務(wù)器預(yù)置的初始密鑰,計(jì)算數(shù)字簽名。
303,當(dāng)服務(wù)器計(jì)算出的數(shù)字簽名與認(rèn)證請(qǐng)求攜帶的數(shù)字簽名相同時(shí),則對(duì)發(fā)起端的認(rèn)證通過,為發(fā)起端分配認(rèn)證標(biāo)識(shí)和動(dòng)態(tài)密鑰。
304,存儲(chǔ)認(rèn)證標(biāo)識(shí)以及該認(rèn)證標(biāo)識(shí)當(dāng)前對(duì)應(yīng)的該動(dòng)態(tài)密鑰。
在發(fā)起端同樣會(huì)存儲(chǔ)接收到該認(rèn)證標(biāo)識(shí)和動(dòng)態(tài)密鑰。
基于以上的認(rèn)證過程,在以上任意一個(gè)實(shí)施例中,當(dāng)發(fā)起端向該服務(wù)器發(fā)送訪問請(qǐng)求時(shí),發(fā)起端會(huì)利用該動(dòng)態(tài)密鑰生成數(shù)字簽名,如,發(fā)起端將待請(qǐng)求的數(shù)據(jù)利用該動(dòng)態(tài)密鑰進(jìn)行加密后,再計(jì)算加密后的數(shù)據(jù)的摘要,得到數(shù)字簽名。則該發(fā)起端向服務(wù)器發(fā)送的訪問請(qǐng)求中會(huì)攜帶該認(rèn)證標(biāo)識(shí)和利用該動(dòng)態(tài)密鑰加密得到的數(shù)字簽名。
相應(yīng)的,服務(wù)器接收到該訪問請(qǐng)求后,首先會(huì)驗(yàn)證該訪問請(qǐng)求攜帶的認(rèn)證標(biāo)識(shí)是否為有效認(rèn)證標(biāo)識(shí),如果該認(rèn)證標(biāo)識(shí)為有效認(rèn)證標(biāo)識(shí),則還 需要確定該認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的歷史動(dòng)態(tài)密鑰,并驗(yàn)證利用該歷史動(dòng)態(tài)密鑰生成的數(shù)字簽名是否與該訪問請(qǐng)求攜帶的數(shù)字簽名相同。其中,該有效認(rèn)證標(biāo)識(shí)為服務(wù)器在對(duì)請(qǐng)求認(rèn)證的發(fā)送端認(rèn)證通過后,為該發(fā)送端分配的認(rèn)證標(biāo)識(shí)。當(dāng)然,該有效認(rèn)證標(biāo)識(shí)還可以為處于有效時(shí)長的認(rèn)證標(biāo)識(shí),該有效時(shí)長可以根據(jù)需要設(shè)定,例如有效時(shí)長可以為一天。該歷史動(dòng)態(tài)密鑰為該服務(wù)器在當(dāng)前時(shí)刻之前最近一次響應(yīng)于以該認(rèn)證標(biāo)識(shí)發(fā)起的訪問請(qǐng)求,而生成的動(dòng)態(tài)密鑰。
如果服務(wù)器生成的數(shù)字簽名與該訪問請(qǐng)求攜帶的數(shù)字簽名不相同,則服務(wù)器可以直接拒絕該訪問請(qǐng)求。而如果計(jì)算出的數(shù)字簽名與該訪問請(qǐng)求中攜帶的數(shù)據(jù)簽名相同,則服務(wù)器會(huì)執(zhí)行以上實(shí)施例中其他操作。
如,確定出服務(wù)器生成的數(shù)字簽名與該訪問請(qǐng)求攜帶的數(shù)字簽名相同,則可以執(zhí)行基于該IP地址,獲取發(fā)送端所開放的端口信息的操作;或者是,先檢測(cè)該IP地址是否為黑名單中的IP地址,如果該IP地址不是黑名單中的IP地址,在獲取該發(fā)送端所開放的端口信息。當(dāng)然,如果該訪問請(qǐng)求為http請(qǐng)求,則可以在確定出IP地址不是黑名單中的IP地址后,還可以檢測(cè)該http請(qǐng)求的通用頭域Via是否為空,如果不為空,再執(zhí)行獲取發(fā)送端所開放的端口信息的操作。
可見,在本實(shí)施例的訪問控制過程中,每次發(fā)起端訪問服務(wù)器所攜帶的數(shù)字簽名所采用的加密密鑰為一個(gè)動(dòng)態(tài)變化密鑰,且基于同一個(gè)認(rèn)證標(biāo)識(shí)的相鄰兩次訪問請(qǐng)求之間具有密切的關(guān)聯(lián)關(guān)系,即本次訪問請(qǐng)求與本次訪問請(qǐng)求之前最近一次訪問請(qǐng)求所返回的動(dòng)態(tài)密鑰有關(guān),從而降低了數(shù)據(jù)交互過程中密鑰被破解的概率。同時(shí),由于每次訪問所采用的加密密鑰均不相同,從而使得他人采用同一個(gè)IP地址不能以并發(fā)方式進(jìn)行網(wǎng)絡(luò)請(qǐng)求,進(jìn)而減少了了服務(wù)器被惡意訪問的情況,提高了服務(wù)器中數(shù)據(jù)的安全性。
進(jìn)一步的,若基于該端口信息,確定出發(fā)送端不是代理服務(wù)器時(shí),則在響應(yīng)該訪問請(qǐng)求的同時(shí),服務(wù)器還需要為該發(fā)送端生成更新用動(dòng)態(tài)密鑰,并將該更新用動(dòng)態(tài)密鑰發(fā)送給所述發(fā)送端,以便該發(fā)送端將本地存 儲(chǔ)的動(dòng)態(tài)密鑰更新為該更新用動(dòng)態(tài)密鑰。這樣,當(dāng)該發(fā)起方再次發(fā)起訪問請(qǐng)求時(shí),則需要發(fā)起方利用更新后的動(dòng)態(tài)密鑰生成數(shù)字簽名,并在訪問請(qǐng)求中攜帶該數(shù)字簽名。
可以理解的是,在訪問請(qǐng)求攜帶認(rèn)證標(biāo)識(shí)的實(shí)施例中,在基于所述IP地址,獲取所述發(fā)送端所開放的端口信息之前,還可以判斷該認(rèn)證標(biāo)識(shí)是否滿足預(yù)設(shè)條件。該預(yù)設(shè)條件也可以根據(jù)需要設(shè)定,如,該預(yù)設(shè)條件可以為:在第三指定時(shí)長內(nèi)攜帶該認(rèn)證標(biāo)識(shí)的訪問請(qǐng)求的次數(shù)不超過第三預(yù)設(shè)次數(shù)。其中,該第三指定時(shí)長與前面的第一指定時(shí)長和第二指定時(shí)長可以相同,也可以不同;相應(yīng)的,該第三預(yù)設(shè)次數(shù)也可以根據(jù)需要設(shè)定,且該第三預(yù)設(shè)次數(shù)可以與前面的第一預(yù)設(shè)次數(shù)以及第二預(yù)設(shè)次數(shù)相同也可以不同。
對(duì)于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本申請(qǐng)所必須的。
與上述本申請(qǐng)一種訪問控制方法相對(duì)應(yīng),本申請(qǐng)實(shí)施例還提供了一種訪問控制裝置。
參見圖4,其示出了本申請(qǐng)一種訪問控制裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例的裝置可以包括:
接收單元401,用于接收訪問請(qǐng)求;
參數(shù)獲取單元402,用于獲取所述訪問請(qǐng)求的發(fā)送端參數(shù),其中,所述發(fā)送端參數(shù)至少包括:所述訪問請(qǐng)求的發(fā)送端的IP地址;
端口查詢單元403,用于基于所述IP地址,獲取所述發(fā)送端所開放的端口信息;
訪問處理單元404,用于若基于所述端口信息,確定出所述發(fā)送端為 代理服務(wù)器,則拒絕所述訪問請(qǐng)求。
在本申請(qǐng)實(shí)施例中,服務(wù)器接收到訪問請(qǐng)求后,需要基于該訪問請(qǐng)求的發(fā)送端的IP地址,獲取該發(fā)送端的端口信息,如果基于發(fā)送端的端口信息,確定出該發(fā)送端為代理服務(wù)器,則拒絕該訪問請(qǐng)求,從而限制了基于代理服務(wù)器來訪問服務(wù)器的訪問行為,減少了利用代理服務(wù)器來不斷更換IP地址而對(duì)服務(wù)器進(jìn)行惡意訪問的訪問行為,從而減少了服務(wù)器中數(shù)據(jù)被泄露的風(fēng)險(xiǎn),提高了數(shù)據(jù)安全性。
參見圖5,其示出了本申請(qǐng)實(shí)施例一種訪問控制裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例的裝置與前面裝置實(shí)施例的不同之處在于:
該裝置中的參數(shù)獲取單元獲取到的發(fā)送端參數(shù)還包括:認(rèn)證標(biāo)識(shí);
且,該裝置還可以包括:
身份驗(yàn)證單元405,用于驗(yàn)證所述認(rèn)證標(biāo)識(shí)是否為有效認(rèn)證標(biāo)識(shí),其中,有效認(rèn)證標(biāo)識(shí)為在當(dāng)前時(shí)刻之前,為認(rèn)證通過的發(fā)送端生成的標(biāo)識(shí);如果是,則觸發(fā)執(zhí)行端口查詢單元的操作;否則,拒絕所述訪問請(qǐng)求。
可選的,在本實(shí)施例中,該發(fā)送端參數(shù)還可以包括:待驗(yàn)證數(shù)字簽名;
則,所述裝置還包括:
密鑰驗(yàn)證單元406,用于在所述身份驗(yàn)證單元驗(yàn)證出所述認(rèn)證標(biāo)識(shí)為有效認(rèn)證標(biāo)識(shí)之后,驗(yàn)證所述待驗(yàn)證數(shù)字簽名是否為基于歷史動(dòng)態(tài)密鑰生成的數(shù)字簽名,如果是,則觸發(fā)執(zhí)行所述端口查詢單元的操作;否則,拒絕所述訪問請(qǐng)求;其中,所述歷史動(dòng)態(tài)密鑰為在當(dāng)前時(shí)刻之前最近一次響應(yīng)于以所述認(rèn)證標(biāo)識(shí)發(fā)起的訪問請(qǐng)求,而生成的動(dòng)態(tài)密鑰。
進(jìn)一步的,在本實(shí)施例中,該裝置還可以包括:
密鑰更新單元,用于若基于所述端口信息,確定出所述發(fā)送端不是代理服務(wù)器時(shí),則生成與所述認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的更新用動(dòng)態(tài)密鑰,并存儲(chǔ)所述認(rèn)證標(biāo)識(shí)對(duì)應(yīng)的更新用動(dòng)態(tài)密鑰;
密鑰發(fā)送單元,用于將所述更新用動(dòng)態(tài)密鑰發(fā)送給所述發(fā)送端,以便所述發(fā)送端將本地存儲(chǔ)的動(dòng)態(tài)密鑰更新為所述更新用動(dòng)態(tài)密鑰。
可以理解的是,在以上任意一個(gè)實(shí)施例中,該裝置還可以包括:黑名單檢測(cè)單元,用于在所述端口查詢單元獲取所述發(fā)送端所開放的端口信息之前,判斷所述IP地址是否為黑名單中的IP地址,如果是,則拒絕所述訪問請(qǐng)求;否則,觸發(fā)執(zhí)行所述端口查詢單元的操作。
需要說明的是,當(dāng)該裝置包括身份驗(yàn)證單元的情況下,該身份驗(yàn)證單元和該黑名單檢測(cè)單元可以同時(shí)執(zhí)行,也可以是先執(zhí)行身份驗(yàn)證單元,再執(zhí)行該黑名單檢測(cè)單元。同時(shí),只有當(dāng)身份驗(yàn)證單元確定出該待驗(yàn)證數(shù)據(jù)簽名為基于所述指定密鑰生成的數(shù)字簽名,且該黑名單檢測(cè)單元檢測(cè)出訪問請(qǐng)求攜帶的IP地址不是黑名單中的IP地址,才觸發(fā)執(zhí)行該端口查詢單元。
可選的,在以上實(shí)施例中,該訪問處理單元、身份驗(yàn)證單元以及密鑰驗(yàn)證單元執(zhí)行的所述拒絕所述訪問請(qǐng)求,具體可以為:將所述IP地址加入黑名單;和/或,向所述發(fā)送端發(fā)送虛假數(shù)據(jù),所述虛假數(shù)據(jù)與所述訪問請(qǐng)求所請(qǐng)求的數(shù)據(jù)不同。
在以上任意一個(gè)裝置的實(shí)施例中,所述參數(shù)獲取單元獲取到的所述發(fā)送端參數(shù)還包括以下任意一種或幾種:
MAC地址、設(shè)備標(biāo)識(shí)以及認(rèn)證標(biāo)識(shí);其中,所述認(rèn)證標(biāo)識(shí)為在所述發(fā)送端認(rèn)證通過后,為所述發(fā)送端生成標(biāo)識(shí);
則所述裝置還可以包括:
條件判斷單元,用于在所述端口查詢單元獲取所述發(fā)送端所開放的端口信息之前,判斷當(dāng)前時(shí)刻所述發(fā)送端參數(shù)是否滿足預(yù)設(shè)條件;如果所述發(fā)送端參數(shù)中存在滿足所述預(yù)設(shè)條件的至少一個(gè)發(fā)送端參數(shù),則觸發(fā)執(zhí)行所述端口查詢單元的操作;否則,拒絕所述訪問請(qǐng)求。
可選的,當(dāng)所述發(fā)送端參數(shù)包括所述IP地址、MAC地址或設(shè)備標(biāo)識(shí)時(shí),所述預(yù)設(shè)條件包括:在第一指定時(shí)長內(nèi),以所述IP地址、MAC地址或設(shè)備標(biāo)識(shí)發(fā)起的認(rèn)證請(qǐng)求并獲取到所述有認(rèn)證標(biāo)識(shí)的次數(shù)不超過第一預(yù)設(shè)次數(shù);或者,在第二指定時(shí)長內(nèi),以所述IP地址、MAC地址或設(shè)備 標(biāo)識(shí)發(fā)起訪問請(qǐng)求的次數(shù)不超過第二預(yù)設(shè)次數(shù);
當(dāng)所述發(fā)送端參數(shù)包括:所述訪問請(qǐng)求中攜帶的認(rèn)證標(biāo)識(shí)時(shí),則所述預(yù)設(shè)條件包括:在第三指定時(shí)長內(nèi)攜帶所述認(rèn)證標(biāo)識(shí)的訪問請(qǐng)求的次數(shù)不超過第三預(yù)設(shè)次數(shù)。
可選的,在以上任意一個(gè)裝置的實(shí)施例中,所述接收單元可以包括:
接收子單元,用于接收http請(qǐng)求;
則所述裝置,還包括:
頭域檢測(cè)單元,用于在所述端口查詢單元獲取所述發(fā)送端所開放的端口信息之前,檢測(cè)所述http請(qǐng)求的通用頭域Via的值是否為空;
第六執(zhí)行單元,用于所述頭域檢測(cè)單元確定出所述Via值不為空,則拒絕所述http請(qǐng)求;
第七執(zhí)行單元,用于如果所述頭域檢測(cè)單元確定出所述Via值為空,則執(zhí)行所述端口查詢單元的操作。
可以理解的是,在本申請(qǐng)以上裝置的實(shí)施例中,不同實(shí)施例中可能包括有觸發(fā)執(zhí)行該端口查詢單元操作的不同執(zhí)行單元,如,當(dāng)該裝置包括黑名單檢測(cè)單元的情況下,可以在確定出該IP地址不黑名單中的IP地址時(shí),則觸發(fā)執(zhí)行該端口查詢單元的操作;而如果該裝置包括頭域檢測(cè)單元的情況下,則可以確定出該Via值為空時(shí),觸發(fā)執(zhí)行該端口查詢單元的操作,因此,在不同實(shí)施例中,該端口查詢單元?jiǎng)t可以根據(jù)需要設(shè)定,在接收到某個(gè)設(shè)定的執(zhí)行單元的觸發(fā)指示后,執(zhí)行該端口查詢單元中設(shè)定的操作。而在實(shí)際應(yīng)用中,該裝置可以同時(shí)包括以上實(shí)施例中的身份驗(yàn)證單元、黑名單檢測(cè)單元、條件判斷單元以及頭域檢測(cè)單元,則在該種情況下,該端口查詢單元可以在均檢測(cè)到這幾個(gè)單元的觸發(fā)動(dòng)作后,再執(zhí)行該端口查詢單元中設(shè)定的操作。
在本申請(qǐng)的另一方面,還提供了一種服務(wù)器。
參見圖6,其示出了本申請(qǐng)一種服務(wù)器一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本 實(shí)施例的服務(wù)器可以包括:收發(fā)器601和處理器602。
其中,收發(fā)器601,用于接收訪問請(qǐng)求;
處理器602,用于獲取所述訪問請(qǐng)求的發(fā)送端參數(shù),其中,所述發(fā)送端參數(shù)至少包括:所述訪問請(qǐng)求的發(fā)送端的IP地址;基于所述IP地址,獲取所述發(fā)送端所開放的端口信息;若基于所述端口信息,確定出所述發(fā)送端為代理服務(wù)器,則拒絕所述訪問請(qǐng)求。
當(dāng)然,該服務(wù)器還可以包括存儲(chǔ)介質(zhì),存儲(chǔ)介質(zhì)用于存儲(chǔ)該處理器運(yùn)行的程序數(shù)據(jù)。該服務(wù)器還可以包括與處理器、收發(fā)器以及存儲(chǔ)介質(zhì)相連的通信總線。
需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣 的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
以上對(duì)本申請(qǐng)所提供的一種訪問控制方法和裝置以及服務(wù)器進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。