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