本發(fā)明涉及網(wǎng)絡(luò)通信,特別涉及一種基于安全套接字層超文本傳輸協(xié)議接入認證的訪問網(wǎng)絡(luò)的方法和系統(tǒng)。
背景技術(shù):
互聯(lián)網(wǎng)時代下,終端與服務(wù)端之間的通信無處不在,近年來各種通信技術(shù)層出不窮,引領(lǐng)著一個時代、改變著人們的日常生活,通信安全的問題也越來越突出。就拿時下最流行的wlan通信來說,wlan大多面向的是非固定式的用戶且很多,出于各方面的安全通信考慮,需要認證的環(huán)節(jié)一個接一個,如wifi網(wǎng)絡(luò)接入認證,通常采用向終端彈出portal認證(接入認證)頁面的方式進行認證。出于安全考慮網(wǎng)絡(luò)服務(wù)器也越來越多采用https協(xié)議(安全套接字層超文本傳輸協(xié)議)取代原有的http協(xié)議,引入了對信息進行加密以及身份驗證的措施,通過tls協(xié)議也就是ssl協(xié)議來執(zhí)行,tls協(xié)議主要有五部分:應(yīng)用數(shù)據(jù)層協(xié)議,握手協(xié)議,報警協(xié)議,加密消息確認協(xié)議以及心跳協(xié)議,這么多環(huán)節(jié)下來起到了很好的用戶隱私保護效果,同時也能防止流量劫持。百度,作為大型的搜索引擎,就已上線了全站https的安全搜索,很多銀行網(wǎng)站或電子郵箱等等安全級別較高的服務(wù)器也都會采用https協(xié)議。那么原有基礎(chǔ)的portal認證基于http已不能滿足現(xiàn)有需求,相關(guān)領(lǐng)域技術(shù)人員在這些新的技術(shù)問題上也做了大量研究。
如申請?zhí)枮閏n201310411084.3的專利申請公開了一種“基于萬維網(wǎng)的無線局域網(wǎng)接入認證方法與系統(tǒng)”,該發(fā)明中方法包括:ac截獲到所述wlan終端發(fā)送的dns解析請求,判斷所述wlan終端是否已通過用戶認證;若未通過用戶認證,ac將所述dns解析請求重定向至與公網(wǎng)隔離的本地dns;本地dns構(gòu)造指向門戶服務(wù)器ip地址的dns回應(yīng)數(shù)據(jù)包并返回ac;響應(yīng)于接收到未認證的所述wlan終端發(fā)送的http請求或https請求時,接入控制器將該http請求或https請求重定向到門戶服務(wù)器;門戶服務(wù)器向wlan終端發(fā)送web認證頁面,通過web認證頁面獲取wlan終端用戶輸入的用戶名及密碼,根據(jù)用戶名及密碼對wlan終端進行用戶認證??梢越鉀Q現(xiàn)有技術(shù)未認證wlan終端繞過portal認證流程進行非法上網(wǎng)的技術(shù)問題。
又如申請?zhí)枮閏n201610991174.8的專利申請公開了一種“基于https協(xié)議的portal認證方法及路由器”,在該portal認證方法中包括:s10接收終端發(fā)送的請求報文;s20判斷接收到的請求報文是否為基于https協(xié)議的加密請求報文;s30若判斷請求報文為加密請求報文,進一步判斷發(fā)送請求報文的用戶是否被portal認證過;s40若該用戶未被portal認證過,將請求報文轉(zhuǎn)發(fā)至網(wǎng)站服務(wù)器,以此網(wǎng)站服務(wù)器對請求報文進行解密并將基于http協(xié)議的重定向報文發(fā)送至終端,有效解決了現(xiàn)有技術(shù)中對基于https協(xié)議的加密請求報文不能進行portal認證的問題,為用戶提供便利,提高用戶體驗。
上述技術(shù)方案可以有效的為https提供portal認證,達到多方面的認證需求,但在長期實踐過程中發(fā)現(xiàn),https認證成功后,經(jīng)常出現(xiàn)短暫不能訪問https服務(wù)的現(xiàn)象,也就是終端不能訪問服務(wù)器的現(xiàn)象,這大大影響了使用者的上網(wǎng)體驗,需要加以改進。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是針對上述現(xiàn)有技術(shù)的不足,提供一種基于接入認證的訪問網(wǎng)絡(luò)的方法和系統(tǒng),能夠解決接入認證成功后,出現(xiàn)的短暫不能訪問網(wǎng)絡(luò)的問題。
本發(fā)明采用以下技術(shù)方案:
一種基于接入認證的訪問網(wǎng)絡(luò)的方法,包括以下步驟:
s10:判斷接入認證成功狀態(tài)的信息是否已下發(fā)到終端;
s20:若判斷接入認證成功狀態(tài)的信息為已下發(fā),則重定向終端訪問的頁面;
s30:根據(jù)重定向的頁面信息控制終端與網(wǎng)絡(luò)服務(wù)器建立會話,實現(xiàn)訪問。
進一步地,在所述步驟s20中重定向終端訪問的頁面之前還包括:斷開當前建立的安全套接字層超文本傳輸協(xié)議會話連接。
進一步地,在所述步驟s10和所述步驟s20之間還包括以下步驟:
s11:記錄已下發(fā)成功狀態(tài)到終端開始后的時間;
s12:判斷時間是否大于預(yù)設(shè)時間,若是,則進行所述步驟s20。
進一步地,所述重定向終端訪問的頁面是重定向終端最后一次訪問頁面的統(tǒng)一資源定位符。
進一步地,在所述步驟s30中所述控制終端與網(wǎng)絡(luò)服務(wù)器建立會話是通過控制終端發(fā)起三次握手請求使會話建立。
一種基于接入認證的訪問網(wǎng)絡(luò)的系統(tǒng),包括:
判斷模塊,用于判斷接入認證成功狀態(tài)的信息是否已下發(fā)到終端;
重定向模塊,用于根據(jù)所述判斷模塊判斷已下發(fā)的信息,重定向終端訪問的頁面;
建立會話模塊,用于根據(jù)重定向的頁面信息控制終端與網(wǎng)絡(luò)服務(wù)器建立會話,實現(xiàn)訪問。
進一步地,還包括斷開連接模塊,用于在判斷接入認證成功狀態(tài)的信息已下發(fā)到終端后斷開當前建立的安全套接字層超文本傳輸協(xié)議會話連接。
進一步地,還包括計時模塊,用于記錄接入認證成功狀態(tài)的信息已下發(fā)到終端開始后的時間。
進一步地,所述計時模塊包括觸發(fā)單元,用于在接入認證成功狀態(tài)的信息已下發(fā)到終端開始后的時間到達預(yù)設(shè)時間,則觸發(fā)開啟所述重定向模塊。
進一步地,所述重定向模塊包括定向單元,用于獲取終端所訪問頁面的統(tǒng)一資源定位符。
采用上述技術(shù)方案后,本發(fā)明的有益效果是:通過在認證成功后主動重定向終端訪問的頁面與服務(wù)器取得聯(lián)系,解決短暫不能訪問網(wǎng)絡(luò)的問題;通過斷開當前建立的安全套接字層超文本傳輸協(xié)議會話連接,使終端的連接端口處于空閑狀態(tài),方便與網(wǎng)絡(luò)服務(wù)器建立會話,和重定向終端訪問的頁面與服務(wù)器取得聯(lián)系形成雙重保障;通過預(yù)設(shè)時間,指定重定向終端訪問的頁面之前先等待,可以滿足廣告需求,能夠不影響頁面廣告的時間。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)的技術(shù)方案,附圖如下:
圖1為本發(fā)明實施例提供的在應(yīng)用場景中訪問網(wǎng)絡(luò)的交互示意圖;
圖2為本發(fā)明實施例1中一種基于接入認證的訪問網(wǎng)絡(luò)的方法流程圖;
圖3為本發(fā)明實施例1中一種基于接入認證的訪問網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)圖;
圖4為本發(fā)明實施例2中一種基于接入認證的訪問網(wǎng)絡(luò)的方法流程圖;
圖5為本發(fā)明實施例2中一種基于接入認證的訪問網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)圖;
圖6為本發(fā)明實施例3中一種基于接入認證的訪問網(wǎng)絡(luò)的方法流程圖;
圖7為本發(fā)明實施例3中一種基于接入認證的訪問網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)圖。
具體實施方式
以下是本發(fā)明的具體實施例并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進一步的描述,但本發(fā)明并不限于這些實施例。
在當前的wlan產(chǎn)品中,實現(xiàn)對https頁面進行截取認證方式時,https業(yè)務(wù)基于tcp層,所以https頁面的交互方式是有連接的;在目前的https認證方案中,當用戶發(fā)起三次握手時,wlan產(chǎn)品會對三次握手的報文進行截獲,wlan產(chǎn)品本地會與用戶實現(xiàn)交互,以便用戶后續(xù)的https請求報文能正常發(fā)出;wlan產(chǎn)品截獲到后會通過https報文處理模塊,來對用戶進行頁面認證,當用戶認證通過后,轉(zhuǎn)發(fā)模塊對后續(xù)報文不再進行截獲,而是上行轉(zhuǎn)發(fā)到互聯(lián)網(wǎng),進行正常訪問;然https業(yè)務(wù)是有連接的,如果在認證成功前,終端和wlan產(chǎn)品建立連接,而沒有和互聯(lián)網(wǎng)的服務(wù)器建立連接,當終端真正去訪問服務(wù)器時,服務(wù)器因為沒有建立和終端的會話,不會對終端的請求進行回應(yīng),終端會出現(xiàn)不能訪問網(wǎng)絡(luò)服務(wù)器的問題。
在本發(fā)明中,基于前面進行的認證結(jié)束后,當判斷接入認證成功狀態(tài)的信息已下發(fā)至終端,需要切換https報文處理方式時,wlan產(chǎn)品對當前建立的https會話連接進行主動斷開或者重定向終端先前在訪問時輸入的網(wǎng)頁,這樣終端就可以及時和互聯(lián)網(wǎng)上真實的網(wǎng)絡(luò)服務(wù)器建立新的會話,實現(xiàn)訪問。
如圖1所示為本發(fā)明提供的在實際應(yīng)用場景中本發(fā)明一實施例訪問網(wǎng)絡(luò)的交互示意圖,本發(fā)明應(yīng)用于wlan產(chǎn)品中,該wlan產(chǎn)品包括轉(zhuǎn)發(fā)模塊、https認證處理模塊以及portal認證服務(wù)器。
所述portal認證服務(wù)器一般包括portal認證請求的接收,請求的認證審核以及認證后的狀態(tài)下發(fā),如若未成功進行portal認證,終端會一直收到認證請求頁面信息,直至成功。
以下為本發(fā)明具體實施例。
實施例1
如圖2所示為本實施例所述的一種基于接入認證的訪問網(wǎng)絡(luò)的方法流程圖,該方法包括:
s10:判斷portal認證成功狀態(tài)的信息是否已下發(fā)到終端;
本步驟之前,用戶通過終端發(fā)出一系列的請求,https認證處理模塊接收該請求后會對終端發(fā)出認證頁面,用戶通過在終端上填寫好相關(guān)認證信息后,再發(fā)給portal認證服務(wù)器進行認證,portal認證結(jié)束后portal認證服務(wù)器會判斷認證狀態(tài);若成功認證,則將portal認證成功的信息下發(fā)至終端;若不成功,則將信息發(fā)給https認證處理模塊,由https認證處理模塊再次發(fā)出認證頁面到終端。
本步驟中,可通過運行日志查看認證成功狀態(tài)的信息是否已下發(fā)到終端來實現(xiàn)判斷。
s20:若判斷portal認證成功狀態(tài)的信息為已下發(fā),則重定向終端訪問的頁面;
具體的,若通過運行日志查看得到該認證成功狀態(tài)的信息已下發(fā)至終端,則可以自動進行重定向終端最后一次訪問頁面的url(統(tǒng)一資源定位符)所包含的信息,包括指出文件的位置以及瀏覽器應(yīng)該怎么處理它。
若判斷portal認證成功狀態(tài)的信息為未下發(fā),則再次回到portal認證服務(wù)器判斷認證狀態(tài)的階段。
重定向url的具體方法為:
首先在之前的訪問日志中查找出最后一次request中url信息,如http://www.xxxx,然后可以使用header()函數(shù),使用如下語句:
<?
header("location:http://www.xxxx");
exit;
?>
只要執(zhí)行這個語句就能定向到該網(wǎng)頁。
s30:根據(jù)重定向的頁面信息控制終端與網(wǎng)絡(luò)服務(wù)器建立會話,實現(xiàn)訪問。
具體的,根據(jù)所指出的文件的位置以及瀏覽器應(yīng)該怎么處理它的信息,也就是重定向終端最后一次訪問頁面的url后,終端會接收到該重定向的消息,主動發(fā)起三次握手請求,完成終端與網(wǎng)絡(luò)服務(wù)器的會話建立,實現(xiàn)網(wǎng)絡(luò)訪問,在終端上為用戶展現(xiàn)出用戶所需信息。
通過以上對本方法的詳細描述中,可見本方法是基于終端通過wlan產(chǎn)品向網(wǎng)絡(luò)服務(wù)器建立會話而呈現(xiàn)的,是實現(xiàn)互聯(lián)網(wǎng)連接接入認證中的子過程的一種方法,可作為對實現(xiàn)網(wǎng)絡(luò)連接的一個輔助;通過該方法所有步驟的運行,可良好解決目前多數(shù)用wlan產(chǎn)品實現(xiàn)https認證時,終端出現(xiàn)短暫不能訪問網(wǎng)絡(luò)的問題。
如圖3所示為本實施例所述的一種基于接入認證的訪問網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)包括:
判斷模塊100,用于判斷portal認證成功狀態(tài)的信息是否已下發(fā)到終端;
重定向模塊200,用于根據(jù)所述判斷模塊判斷已下發(fā)的信息,重定向終端訪問的頁面;
建立會話模塊300,用于根據(jù)重定向的頁面信息控制終端與網(wǎng)絡(luò)服務(wù)器建立會話,實現(xiàn)訪問。
所述重定向模塊200包括定向單元210,用于獲取終端所訪問頁面的統(tǒng)一資源定位符。
本系統(tǒng)是在上述方法基礎(chǔ)上建立起來的,用于解決目前多數(shù)https認證中出現(xiàn)短暫不能訪問網(wǎng)絡(luò)的問題,在目前的技術(shù)條件下,可以將上述多個模塊融合在portal認證服務(wù)器中,使上述各模塊與wlan產(chǎn)品中其他模塊搭建出良好的交互體系,使流程運行起來更順暢。
本實施例是在長期實踐中完善的,針對連網(wǎng)過程中portal認證成功后終端仍然不能和網(wǎng)絡(luò)服務(wù)器建立會話的問題,提出的一種較完整解決方案,該方案在原有認證的基礎(chǔ)上加上了一個輔助過程,幫助終端與wlan產(chǎn)品斷開連接,去與網(wǎng)絡(luò)服務(wù)器建立連接,本實施例的優(yōu)點在于:
通過運行日志查看得到該認證成功狀態(tài)的信息是否成功下發(fā)至終端,運行日志查看的方式簡單直接,判斷準確度高;
重定向終端訪問頁面的方式方法有很多,采用重定向終端最后一次網(wǎng)絡(luò)訪問頁面的url的方式過渡網(wǎng)絡(luò)連接,可以準確快速的獲取用戶想要訪問的信息,也不會因獲取的信息太多太雜導(dǎo)致瀏覽器無法響應(yīng)。
實施例2
本實施例與之前的實施例不同之處在于,本實施例中在重定向終端訪問的頁面之前還包括斷開步驟。
如圖4所示為本實施例所述的一種基于接入認證的訪問網(wǎng)絡(luò)的方法流程圖,該方法還包括:
斷開當前建立的https會話連接。
若網(wǎng)絡(luò)訪問采用的是https協(xié)議方式時,在重定向終端訪問的頁面之前斷開當前建立的https會話連接的這個操作可使終端的連接端口處于空閑狀態(tài),方便與網(wǎng)絡(luò)服務(wù)器建立會話,和重定向終端訪問的頁面與服務(wù)器取得聯(lián)系一起形成雙重保障,保證流暢的上網(wǎng)體驗。
相應(yīng)的,如圖5所示為本實施例所述的一種基于接入認證的訪問網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)還包括:
斷開模塊400,用于在判斷portal認證成功狀態(tài)的信息已下發(fā)到終端后,重定向終端訪問的頁面之前斷開當前建立的https會話連接。
實施例3
本實施例與實施例2不同之處在于,本實施例中還包括對時間的監(jiān)測。
如圖6所示為本實施例所述的一種基于接入認證的訪問網(wǎng)絡(luò)的方法流程圖,該方法在所述步驟s10和所述步驟s20之間還包括以下步驟:
s11:記錄已下發(fā)成功狀態(tài)到終端開始后的時間;
s12:判斷時間是否大于預(yù)設(shè)時間,若是,則進行所述步驟s20。
在步驟s11中,計時的單位設(shè)置為秒,當認證成功狀態(tài)下發(fā)后開始執(zhí)行計時代碼,記錄下已下發(fā)成功狀態(tài)到終端開始后的時間,計時代碼可以使用c語言,c++,java等。
相應(yīng)的,如圖7所示為本實施例所述的一種基于接入認證的訪問網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)還包括:
計時模塊500,用于記錄portal認證成功狀態(tài)的信息已下發(fā)到終端開始后的時間。
所述計時模塊500包括觸發(fā)單元510,用于在portal認證成功狀態(tài)的信息已下發(fā)到終端開始后的時間到達預(yù)設(shè)時間,則觸發(fā)開啟所述重定向模塊200。
更具體的過程表現(xiàn)如下:
例如當網(wǎng)絡(luò)portal認證是基于https的portal認證,系統(tǒng)預(yù)設(shè)時間為t(15秒);
首先所述判斷模塊100通過查看運行日志判斷前面終端請求portal認證的這個過程是否到達portal認證成功狀態(tài)的信息已下發(fā)到終端這個階段,若是,則所述斷開模塊400斷開當前建立的https會話連接,所述計時模塊500開始計時;
當所述計時模塊500所記錄的時間到達該預(yù)設(shè)時間t(15秒)時,所述計時模塊500中的觸發(fā)單元510接收到該信息后,所述觸發(fā)單元510觸發(fā)開啟所述重定向模塊200;
然后所述重定向模塊200中的定向單元210就會重定向終端最后一次網(wǎng)絡(luò)訪問頁面的url信息;
最后終端通過三次握手的請求建立終端與網(wǎng)絡(luò)服務(wù)器的連接,實現(xiàn)網(wǎng)絡(luò)服務(wù)。
本實施例總體上突出的優(yōu)點表現(xiàn)為,給予一定的時間緩沖后再讓所述重定向模塊200開始工作。該時間的預(yù)留可以方便工程師后期安排其他操作的插入,例如:為滿足目前市場上廣告播放的需求,為了不影響廣告播放的時間,設(shè)定一個與廣告時長相符合的預(yù)設(shè)時間。
需要強調(diào)的是,在本實施例中所述計時模塊500在所述觸發(fā)單元510工作開始的瞬間就會停止計時,清零數(shù)據(jù),等待下一次的認證請求。
本文中所描述的具體實施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。