本發(fā)明涉及終端領(lǐng)域,特別涉及一種終端訪問網(wǎng)站的方法、一種終端訪問網(wǎng)站的系統(tǒng)以及一種終端。
背景技術(shù):
終端訪問網(wǎng)站的方式通常有以下兩種:第一、通過域名的方式訪問,例如www.baidu.com;第二、通過ip地址的方式訪問,例如61.135.169.125。其中,終端通過域名訪問網(wǎng)站的基本流程為:首先,終端發(fā)起針對(duì)域名的dns(domainnamesystem,域名系統(tǒng))查詢,dns服務(wù)器返回對(duì)應(yīng)的ip地址;其次,終端使用該ip地址發(fā)起對(duì)網(wǎng)站的訪問。終端直接通過ip地址訪問網(wǎng)站時(shí),則省去了dns查詢的過程。
目前,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,行業(yè)用戶使用終端的需求越來越大,其中,主要是數(shù)據(jù)業(yè)務(wù)的增長。與普通用戶相比,行業(yè)用戶對(duì)終端的使用有著特殊的需求,例如學(xué)生課堂上使用的終端只能訪問特定的教育網(wǎng)站、醫(yī)護(hù)人員使用的終端只允許訪問醫(yī)療相關(guān)的網(wǎng)站、部隊(duì)中使用的終端只能訪問軍網(wǎng)等。
針對(duì)行業(yè)用戶的上述需求,需要限制終端訪問的網(wǎng)站。目前常用的做法為:允許固定的幾個(gè)域名進(jìn)行dns查詢,禁止其他域名進(jìn)行dns查詢,以限制終端訪問其他域名對(duì)應(yīng)的網(wǎng)站。但是這種做法無法限制終端用戶通過ip地址訪問網(wǎng)站。舉個(gè)例子,雖然禁止了域名a進(jìn)行dns查詢,但是終端用戶仍然可以通過與域名a對(duì)應(yīng)的ip地址訪問域名a對(duì)應(yīng)的網(wǎng)站。
為了解決上述無法限制終端用戶通過ip地址訪問網(wǎng)站的問題,提出了這樣一種做法:在上述做法的基礎(chǔ)上,允許使用上述域名對(duì)應(yīng)的ip地址訪問網(wǎng)站,以限制終端訪問其他域名對(duì)應(yīng)的網(wǎng)站。但是,當(dāng)前的大部分網(wǎng)站均采用cdn(contentdeliverynetwork,內(nèi)容分發(fā)網(wǎng)絡(luò))部署,即同一個(gè)域名可以對(duì)應(yīng)多個(gè)不同的ip地址,由于cdn部署與訪問網(wǎng)站的終端所在的地區(qū)有著密不可分的關(guān)系,因此這種做法無法枚舉所有的ip地址。舉個(gè)例子,假設(shè)允許域名b進(jìn)行dns查詢,且允許使用域名b對(duì)應(yīng)的ip地址ip1~ip7訪問網(wǎng)站;當(dāng)終端用戶通過域名b進(jìn)行dns查詢時(shí),由于采用cdn部署,針對(duì)域名b返回的ip地址為ip8,此時(shí)終端則不能使用ip8訪問網(wǎng)站,也就是說,原本終端可以訪問域名b對(duì)應(yīng)的網(wǎng)站,但是上述的情況又限制了終端訪問域名b對(duì)應(yīng)的網(wǎng)站,即出現(xiàn)有時(shí)可以訪問(當(dāng)返回的ip地址為ip1~ip7時(shí))有時(shí)又不可以訪問(當(dāng)返回的ip地址不為ip1~ip7時(shí))同一網(wǎng)站的問題,這會(huì)給終端用戶帶來困惑,甚至誤以為終端出現(xiàn)故障,用戶體檢不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中限制終端訪問網(wǎng)站的做法存在漏洞以及用戶體驗(yàn)不佳等的缺陷,提供一種終端訪問網(wǎng)站的方法、一種終端訪問網(wǎng)站的系統(tǒng)以及一種終端。
本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:
第一方面,本發(fā)明提供一種終端訪問網(wǎng)站的方法,包括:
若訪問網(wǎng)站使用的域名在預(yù)設(shè)的域名白名單中,則將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中;
若訪問網(wǎng)站使用的ip地址在所述ip白名單中,則向internet網(wǎng)絡(luò)發(fā)送包括所述ip地址的ip數(shù)據(jù)包。
較佳地,所述將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中具體包括:
若所述dns服務(wù)器針對(duì)所述域名返回的ip地址不在ip白名單中,則將所述ip地址加入到所述ip白名單中。
較佳地,所述方法還包括:若訪問網(wǎng)站使用的ip地址不在所述ip白名單中,則丟棄包括所述ip地址的ip數(shù)據(jù)包。
第二方面,本發(fā)明提供一種終端,包括:
添加模塊,用于當(dāng)訪問網(wǎng)站使用的域名在預(yù)設(shè)的域名白名單中時(shí),將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中;
發(fā)送模塊,用于當(dāng)訪問網(wǎng)站使用的ip地址在所述ip白名單中時(shí),向internet網(wǎng)絡(luò)發(fā)送包括所述ip地址的ip數(shù)據(jù)包。
較佳地,所述添加模塊具體用于當(dāng)所述dns服務(wù)器針對(duì)所述域名返回的ip地址不在ip白名單中時(shí),將所述ip地址加入到所述ip白名單中。
較佳地,所述終端還包括丟棄模塊,用于當(dāng)訪問網(wǎng)站使用的ip地址不在所述ip白名單中時(shí),丟棄包括所述ip地址的ip數(shù)據(jù)包。
第三方面,本發(fā)明提供一種終端,包括至少一處理器和至少一存儲(chǔ)器,所述至少一存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序,所述至少一處理器執(zhí)行所述計(jì)算機(jī)程序后使得所述終端執(zhí)行上述所記載的方法。
第四方面,本發(fā)明提供一種終端訪問網(wǎng)站的系統(tǒng),包括終端和dns服務(wù)器,所述終端包括訪問模塊、添加模塊以及發(fā)送模塊;
所述訪問模塊用于使用域名和ip地址訪問網(wǎng)站;
所述dns服務(wù)器用于針對(duì)所述訪問模塊使用的域名返回ip地址;
所述添加模塊用于當(dāng)所述訪問模塊使用的域名在預(yù)設(shè)的域名白名單中時(shí),將所述dns服務(wù)器返回的ip地址加入到ip白名單中;
所述發(fā)送模塊用于當(dāng)所述訪問模塊使用的ip地址在所述ip白名單中時(shí),向internet網(wǎng)絡(luò)發(fā)送包括所述ip地址的ip數(shù)據(jù)包。
較佳地,所述添加模塊具體用于當(dāng)所述dns服務(wù)器返回的ip地址不在ip白名單中時(shí),將所述ip地址加入到所述ip白名單中。
較佳地,所述終端還包括丟棄模塊,用于當(dāng)所述訪問模塊使用的ip地址不在所述ip白名單中時(shí),丟棄包括所述ip地址的ip數(shù)據(jù)包。
在符合本領(lǐng)域常識(shí)的基礎(chǔ)上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實(shí)例。
本發(fā)明的積極進(jìn)步效果在于:與現(xiàn)有技術(shù)相比,本發(fā)明中,使用域名白名單中的域名訪問網(wǎng)站時(shí),將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中,使得終端只能訪問域名白名單中的域名和ip白名單中的ip地址對(duì)應(yīng)的網(wǎng)站,成功地限制了終端訪問除這些網(wǎng)站之外的網(wǎng)站。另外,無論允許訪問的網(wǎng)站是否采用cdn部署,dns服務(wù)器針對(duì)域名返回的所有ip地址均會(huì)被加入到ip白名單中,進(jìn)而利用這些ip地址訪問網(wǎng)站,即終端可以利用與域名對(duì)應(yīng)的所有ip地址訪問網(wǎng)站,不會(huì)造成終端有時(shí)可以訪問有時(shí)又不可以訪問同一網(wǎng)站的問題,改善了用戶體驗(yàn)。
附圖說明
圖1為本發(fā)明實(shí)施例提供的一種終端訪問網(wǎng)站的方法流程圖。
圖2為本發(fā)明實(shí)施例提供的另一種終端訪問網(wǎng)站的方法流程圖。
圖3為本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)框圖。
圖4為本發(fā)明實(shí)施例提供的另一種終端的結(jié)構(gòu)框圖。
圖5為本發(fā)明實(shí)施例提供的一種終端訪問網(wǎng)站的系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面通過實(shí)施例的方式進(jìn)一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實(shí)施例范圍之中。
本發(fā)明中涉及到的終端均為能夠訪問網(wǎng)站的終端,尤其是指行業(yè)用戶使用的終端,例如學(xué)生課堂上使用的終端、醫(yī)護(hù)人員使用的終端以及部隊(duì)中使用的終端等。
目前,大部分的網(wǎng)站均采用cdn部署,即同一個(gè)域名可以對(duì)應(yīng)多個(gè)不同的ip地址,舉個(gè)例子,61.135.169.125、61.135.169.121、115.239.211.112、115.239.210.27、119.75.218.77、220.181.112.244、119.75.217.109、119.75.213.61、180.97.33.108等ip地址均對(duì)應(yīng)同一個(gè)域名:www.baidu.com。
本實(shí)施例提供一種終端訪問網(wǎng)站的方法,如圖1所示,包括以下步驟:
步驟101、若訪問網(wǎng)站使用的域名在預(yù)設(shè)的域名白名單中,則將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中;
步驟102、若訪問網(wǎng)站使用的ip地址在所述ip白名單中,則向internet網(wǎng)絡(luò)發(fā)送包括所述ip地址的ip數(shù)據(jù)包。
在可選的一種實(shí)施方式中,如圖2所示,上述方法包括以下步驟:
步驟201、判斷訪問網(wǎng)站使用的域名是否在預(yù)設(shè)的域名白名單中,若是,則執(zhí)行步驟202,若否,則結(jié)束流程;
步驟202、將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中;
步驟203、判斷訪問網(wǎng)站使用的ip地址是否在所述ip白名單中,若是,則執(zhí)行步驟204,若否,則結(jié)束流程;
步驟204、向internet網(wǎng)絡(luò)發(fā)送包括所述ip地址的ip數(shù)據(jù)包。此時(shí),終端可以訪問網(wǎng)站。
在可選的一種實(shí)施方式中,事先不預(yù)設(shè)ip白名單。也就是說,ip白名單中的ip地址均為dns服務(wù)器針對(duì)域名返回的ip地址。
在可選的一種實(shí)施方式中,可以事先預(yù)設(shè)ip白名單。若使用ip地址訪問網(wǎng)站,則限制終端使用預(yù)設(shè)ip白名單以外的ip地址訪問網(wǎng)站,此時(shí)ip白名單中的ip地址是固定的。若使用域名訪問網(wǎng)站,則將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到預(yù)設(shè)的ip白名單,此時(shí)ip白名單中的ip地址是變化的。
在可選的一種實(shí)施方式中,所述將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中具體包括:若所述dns服務(wù)器針對(duì)所述域名返回的ip地址不在ip白名單中,則將所述ip地址加入到所述ip白名單中。為了確保ip白名單中的ip地址不存在重復(fù)現(xiàn)象,在將dns服務(wù)器返回的ip地址加入到ip白名單之前,對(duì)所述ip地址是否在ip白名單中進(jìn)行判斷,若在,則不加入;若不在,則加入。
舉個(gè)例子,事先預(yù)設(shè)的ip白名單中包括5個(gè)ip地址,分別為ip1、ip2、ip5、ip9、ip10。當(dāng)終端在不同時(shí)間使用域名a訪問網(wǎng)站時(shí),dns服務(wù)器針對(duì)域名a返回的ip地址包括ip1、ip3、ip4、ip9。這樣,ip白名單中就會(huì)包括7個(gè)ip地址,分別為ip1、ip2、ip3、ip4、ip5、ip9、ip10。
需要注意的是,在預(yù)設(shè)完成域名白名單之后,域名白名單中的域名是固定的,限制終端使用除域名白名單以外的域名訪問網(wǎng)站。
其中,對(duì)域名白名單和ip白名單的具體形式不作限制,形式可以為集合,也可以為數(shù)據(jù)表等。
在可選的一種實(shí)施方式中,上述方法還包括:若訪問網(wǎng)站使用的ip地址不在所述ip白名單中,則丟棄包括所述ip地址的ip數(shù)據(jù)包。當(dāng)訪問網(wǎng)站使用的ip地址不在ip白名單中時(shí),終端無法訪問網(wǎng)站。另外,還可以根據(jù)具體情況輸出相應(yīng)的提示消息,例如在終端界面上顯示“您所使用的ip地址受限,無法訪問網(wǎng)站”。
與現(xiàn)有技術(shù)相比,上述實(shí)施例中,使用域名白名單中的域名訪問網(wǎng)站時(shí),將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中,使得終端只能訪問域名白名單中的域名和ip白名單中的ip地址對(duì)應(yīng)的網(wǎng)站,成功地限制了終端訪問除這些網(wǎng)站之外的網(wǎng)站。另外,無論允許訪問的網(wǎng)站是否采用cdn部署,dns服務(wù)器針對(duì)域名返回的所有ip地址均會(huì)被加入到ip白名單中,進(jìn)而利用這些ip地址訪問網(wǎng)站,即終端可以利用與域名對(duì)應(yīng)的所有ip地址訪問網(wǎng)站,不會(huì)造成終端有時(shí)可以訪問有時(shí)又不可以訪問同一網(wǎng)站的問題,改善了用戶體驗(yàn)。
本實(shí)施例還提供一種終端30,如圖3所示,包括添加模塊31和發(fā)送模塊32。具體地,添加模塊用于當(dāng)訪問網(wǎng)站使用的域名在預(yù)設(shè)的域名白名單中時(shí),將dns服務(wù)器針對(duì)所述域名返回的ip地址加入到ip白名單中;發(fā)送模塊用于當(dāng)訪問網(wǎng)站使用的ip地址在所述ip白名單中時(shí),向internet網(wǎng)絡(luò)發(fā)送包括所述ip地址的ip數(shù)據(jù)包。
在可選的一種實(shí)施方式中,上述添加模塊具體用于當(dāng)所述dns服務(wù)器針對(duì)所述域名返回的ip地址不在ip白名單中時(shí),將所述ip地址加入到所述ip白名單中。
在可選的一種實(shí)施方式中,如圖4所示,終端30還包括丟棄模塊33,用于當(dāng)訪問網(wǎng)站使用的ip地址不在所述ip白名單中時(shí),丟棄包括所述ip地址的ip數(shù)據(jù)包。
本實(shí)施例還提供一種終端,包括至少一處理器和至少一存儲(chǔ)器,所述至少一存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序,所述至少一處理器執(zhí)行所述計(jì)算機(jī)程序后使得所述終端執(zhí)行上述所記載的方法。
本實(shí)施例還提供一種終端訪問網(wǎng)站的系統(tǒng)50,如圖5所示,包括終端51和dns服務(wù)器52,終端51包括訪問模塊511、添加模塊512以及發(fā)送模塊513。
訪問模塊用于使用域名和ip地址訪問網(wǎng)站;
dns服務(wù)器用于針對(duì)所述訪問模塊使用的域名返回ip地址;
添加模塊用于當(dāng)所述訪問模塊使用的域名在預(yù)設(shè)的域名白名單中時(shí),將所述dns服務(wù)器返回的ip地址加入到ip白名單中;
發(fā)送模塊用于當(dāng)所述訪問模塊使用的ip地址在所述ip白名單中時(shí),向internet網(wǎng)絡(luò)發(fā)送包括所述ip地址的ip數(shù)據(jù)包。
在可選的一種實(shí)施方式中,上述添加模塊具體用于當(dāng)所述dns服務(wù)器返回的ip地址不在ip白名單中時(shí),將所述ip地址加入到所述ip白名單中。
在可選的一種實(shí)施方式中,終端51還包括丟棄模塊,用于當(dāng)所述訪問模塊使用的ip地址不在所述ip白名單中時(shí),丟棄包括所述ip地址的ip數(shù)據(jù)包。
需要說明的是,應(yīng)理解以上裝置的各個(gè)模塊的劃分僅僅是一種邏輯功能的劃分,實(shí)際實(shí)現(xiàn)時(shí)可以全部或部分集成到一個(gè)物理實(shí)體上,也可以物理上分開。且這些模塊可以全部以軟件通過處理元件調(diào)用的形式實(shí)現(xiàn);也可以全部以硬件的形式實(shí)現(xiàn);還可以部分模塊通過處理元件調(diào)用軟件的形式實(shí)現(xiàn),部分模塊通過硬件的形式實(shí)現(xiàn)。例如,發(fā)送模塊可以為單獨(dú)設(shè)立的處理元件,也可以集成在上述裝置的某一個(gè)芯片中實(shí)現(xiàn),此外,也可以以程序代碼的形式存儲(chǔ)于上述裝置的存儲(chǔ)器中,由上述裝置的某一個(gè)處理元件調(diào)用并執(zhí)行以上發(fā)送模塊的功能。其它模塊的實(shí)現(xiàn)與之類似。此外這些模塊全部或部分可以集成在一起,也可以獨(dú)立實(shí)現(xiàn)。這里所述的處理元件可以是一種集成電路,具有信號(hào)的處理能力。在實(shí)現(xiàn)過程中,上述方法的各步驟或以上各個(gè)模塊可以通過處理器元件中的硬件的集成邏輯電路或者軟件形式的指令完成。
例如,以上這些模塊可以是被配置成實(shí)施以上方法的一個(gè)或多個(gè)集成電路,例如:一個(gè)或多個(gè)特定集成電路(applicationspecificintegratedcircuit,簡(jiǎn)稱asic),或,一個(gè)或多個(gè)微處理器(digitalsingnalprocessor,簡(jiǎn)稱dsp),或,一個(gè)或者多個(gè)現(xiàn)場(chǎng)可編程門陣列(fieldprogrammablegatearray,簡(jiǎn)稱fpga)等。再如,當(dāng)以上某個(gè)模塊通過處理元件調(diào)度程序代碼的形式實(shí)現(xiàn)時(shí),該處理元件可以是通用處理器,例如中央處理器(centralprocessingunit,簡(jiǎn)稱cpu)或其它可以調(diào)用程序代碼的處理器。再如,這些模塊可以集成在一起,以片上系統(tǒng)(system-on-a-chip,簡(jiǎn)稱soc)的形式實(shí)現(xiàn)。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
雖然以上描述了本發(fā)明的具體實(shí)施方式,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對(duì)這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍。