專利名稱:一種基于c/s架構(gòu)下的軟件權(quán)限驗(yàn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種軟件的權(quán)限驗(yàn)證方法,具體的說,是ー種在基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證法。
背景技術(shù):
現(xiàn)在很多基于C/S架構(gòu)(客戶機(jī)和服務(wù)器結(jié)構(gòu))的商業(yè)軟件,都采用了付費(fèi)和試用兩種模式,通常付費(fèi)版本可以使用軟件的最核心的功能,而試用版本的很多功能都會(huì)受到限制。由于人們想不花錢使用而使用軟件的所有功能,因此對(duì)于和服務(wù)器后臺(tái)交互的應(yīng)用程序常常被非法篡改,常見的方式有修改hosts文件里的域名與IP地址關(guān)聯(lián),使客戶端去一個(gè)非真實(shí)服務(wù)器的IP地址驗(yàn)證后返回付費(fèi)授權(quán),或者網(wǎng)上的ー個(gè)付費(fèi)授權(quán)被很多用戶同時(shí)使用,有的甚至在服務(wù)端驗(yàn)證完成后,直接離線使用,然后付費(fèi)賬號(hào)提供給其他用戶上網(wǎng)驗(yàn)證,這樣ー來軟件開發(fā)者的權(quán)益得不到保證,其積極性大受影響,甚至?xí)?dǎo)致軟件企業(yè)的入不敷出。
發(fā)明內(nèi)容
發(fā)明目的本發(fā)明的目的在于提供ー種驗(yàn)證效果好,操作便利的驗(yàn)證方法。技術(shù)方案本發(fā)明通過如下技術(shù)加以實(shí)現(xiàn)一種基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證方法,包括如下步驟I)客戶端將用戶輸入的賬號(hào)和密碼送至服務(wù)器后端驗(yàn)證,服務(wù)器根據(jù)賬號(hào)及密碼確定用戶的類型,客戶端返回用戶狀態(tài)碼;2)如果是付費(fèi)用戶,服務(wù)器會(huì)另外產(chǎn)生訪問時(shí)間戳,以及客戶端下次驗(yàn)證的時(shí)間間隔,和用戶狀態(tài)碼一起返回客戶端;3)客戶端接收到返回值后,根據(jù)返回值給予客戶端對(duì)應(yīng)的權(quán)限;4)如果是付費(fèi)用戶,客戶端另外記錄下服務(wù)器產(chǎn)生的時(shí)間戳以及下次訪問時(shí)間間隔,啟動(dòng)定時(shí)器,定時(shí)器事件觸發(fā)后,客戶端會(huì)將賬戶、時(shí)間戳向服務(wù)器重新發(fā)出付費(fèi)驗(yàn)證請求;5)服務(wù)器驗(yàn)證賬號(hào)的類型,如果是未付費(fèi)返回未付費(fèi)狀態(tài)碼;服務(wù)器驗(yàn)證客戶端時(shí)間戳和和服務(wù)器時(shí)間戳是否相同,如果不同,返回多個(gè)相同賬號(hào)同時(shí)登陸狀態(tài)碼;如果賬戶屬于付費(fèi),且時(shí)間戳相同,服務(wù)器產(chǎn)生新的時(shí)間戳以及付費(fèi)狀態(tài)碼和下次驗(yàn)證時(shí)間間隔,返回給客戶端;6)客戶端根據(jù)狀態(tài)碼重新確定權(quán)限,如果返回值是未付費(fèi)或者多點(diǎn)登陸,則客戶端退出付費(fèi)狀態(tài),結(jié)束安全驗(yàn)證;否則重復(fù)步驟4 ;其中用戶的類型分為付費(fèi)用戶與免費(fèi)用戶,所述權(quán)限分為付費(fèi)用戶權(quán)限與免費(fèi)用戶權(quán)限,當(dāng)服務(wù)器檢測到用戶為付費(fèi)用戶時(shí),則在返回值上加上當(dāng)前訪問的時(shí)間戳,用戶為免費(fèi)用戶時(shí)不加時(shí)間戳;當(dāng)服務(wù)器收到驗(yàn)證請求后,首先判定驗(yàn)證請求中有無時(shí)間戳,若沒有時(shí)間戳,則先確定用戶的類型,然后確定是否給予時(shí)間戳;若驗(yàn)證請求中存在時(shí)間戳,則、將驗(yàn)證請求中的時(shí)間戳與服務(wù)器中時(shí)間戳進(jìn)行對(duì)比,若時(shí)間戳一致,則產(chǎn)生ー個(gè)新的時(shí)間戳,并將時(shí)間戳加到返回值中,否則將返回多點(diǎn)登陸代碼令客戶端變?yōu)槊赓M(fèi)用戶權(quán)限。所述的時(shí)間戳為隨機(jī)數(shù)通過MD5進(jìn)行加密而產(chǎn)生。所述客戶端發(fā)出驗(yàn)證請求3次未收到返回值時(shí),客戶端變?yōu)槊赓M(fèi)用戶權(quán)限。所述時(shí)間戳中可含有與服務(wù)器約定的干擾信息。所述的驗(yàn)證請求通過加密方式傳輸。所述的時(shí)間戳中包含用戶賬號(hào)信息。有益效果本發(fā)明與現(xiàn)有技術(shù)相比,其提供了時(shí)間戳作為識(shí)別手段,且時(shí)間戳?xí)S時(shí)更改,客戶端同時(shí)提供了最大驗(yàn)證重復(fù)次數(shù),這樣便防止了常見的相同的賬號(hào)多處登錄、 服務(wù)器IP欺騙、多個(gè)付費(fèi)客戶端離線使用等問題。
圖I為本發(fā)明流程圖。
具體實(shí)施例方式下面結(jié)合說明書附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步詳述本發(fā)明涉及一種基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證方法,所述的方法包括了以下的步驟首先,客戶端將用戶輸入的賬號(hào)和密碼送至服務(wù)器后端驗(yàn)證,服務(wù)器根據(jù)賬號(hào)及密碼確定用戶的類型返回對(duì)應(yīng)的返回值;一般來說,付費(fèi)用戶返回A0、未付費(fèi)用戶返回Al,客戶端接受到返回值后,根據(jù)返回值給予客戶端對(duì)應(yīng)的權(quán)限,這些與一般的驗(yàn)證方法并無區(qū)別,在本發(fā)明中,確定權(quán)限的返回值分為如下兩種,在付費(fèi)用戶的返回值中,包含了服務(wù)器給予的時(shí)間戳,而在免費(fèi)用戶(或試用用戶)的返回值中不包括時(shí)間戳,這樣ー來,客戶端只要分析返回值中有無時(shí)間戳便可分辨登陸本客戶端的用戶是免費(fèi)用戶抑或是收費(fèi)用戶,而后給予不同的權(quán)限。若用戶使用非真實(shí)服務(wù)器對(duì)軟件進(jìn)行驗(yàn)證,或者是多人同時(shí)用ー個(gè)用戶名與密碼登陸,則登陸時(shí)確實(shí)可以給予其收費(fèi)用戶權(quán)限,但是本發(fā)明中,所述客戶端每隔1-3分鐘向服務(wù)器發(fā)出驗(yàn)證請求,由服務(wù)器返回對(duì)應(yīng)的狀態(tài)碼給客戶端,客戶端會(huì)根據(jù)狀態(tài)碼重新確定權(quán)限,確切的說,當(dāng)服務(wù)器收到驗(yàn)證請求后,首先判定驗(yàn)證請求中有無時(shí)間,若沒有時(shí)間戳,則先確定用戶的類型,然后確定是否給予時(shí)間戳;若驗(yàn)證請求中存在時(shí)間戳,則將驗(yàn)證請求中的時(shí)間戳與服務(wù)器中時(shí)間戳進(jìn)行對(duì)比,若時(shí)間戳一致,則服務(wù)器產(chǎn)生ー個(gè)新的時(shí)間戳,并將時(shí)間戳加到返回值中,如果時(shí)間戳不同,且是付費(fèi)用戶,則有兩個(gè)賬號(hào)同時(shí)在試圖登錄,則返回客戶端多個(gè)賬號(hào)登錄的狀態(tài)碼,此時(shí)服務(wù)器時(shí)間戳不變;如果賬號(hào)是非付費(fèi)用戶,則會(huì)返回未付費(fèi)狀態(tài)碼;如果發(fā)送的數(shù)據(jù)格式非法,則會(huì)返回非法的用戶請求狀態(tài)碼。客戶端在收到返回結(jié)果后,如果是未付費(fèi)、多點(diǎn)登陸、非法請求等狀態(tài)時(shí)都會(huì)退出客戶端的付費(fèi)狀態(tài),變成未付費(fèi)狀態(tài),給予免費(fèi)用戶權(quán)限。這樣便杜絕了上述情況下依然可以以收費(fèi)用戶的權(quán)限運(yùn)行軟件。如果用戶在驗(yàn)證后,將客戶端與網(wǎng)絡(luò)斷開,則客戶端發(fā)出驗(yàn)證請求后得不到回應(yīng),這時(shí),客戶端隔廣3分鐘重新發(fā)送請求,若連續(xù)發(fā)送3次請求沒有回應(yīng),則客戶端斷定當(dāng)前處于離線狀態(tài),客戶端退出收費(fèi)用戶授權(quán)狀態(tài),等待用戶將客戶端與網(wǎng)絡(luò)重新連接后,重新進(jìn)行驗(yàn)證后,再確定是否進(jìn)入收費(fèi)用戶授權(quán)狀態(tài)。本發(fā)明中,所述的時(shí)間戳為隨機(jī)數(shù)通過MD5進(jìn)行加密而產(chǎn)生,其中包含用戶賬號(hào)信息,還可含有與服務(wù)器約定的干擾信息,所述的驗(yàn)證請求通過加密方式傳輸?!?br>
權(quán)利要求
1.一種基于C/s架構(gòu)下的軟件權(quán)限驗(yàn)證方法,其特征在于包括如下步驟 .1)客戶端將用戶輸入的賬號(hào)和密碼送至服務(wù)器后端驗(yàn)證,服務(wù)器根據(jù)賬號(hào)及密碼確定用戶的類型,客戶端返回用戶狀態(tài)碼; .2)如果是付費(fèi)用戶,服務(wù)器會(huì)另外產(chǎn)生訪問時(shí)間戳,以及客戶端下次驗(yàn)證的時(shí)間間隔,和用戶狀態(tài)碼一起返回客戶端; .3)客戶端接收到返回值后,根據(jù)返回值給予客戶端對(duì)應(yīng)的權(quán)限; .4)如果是付費(fèi)用戶,客戶端另外記錄下服務(wù)器產(chǎn)生的時(shí)間戳以及下次訪問時(shí)間間隔,啟動(dòng)定時(shí)器,定時(shí)器事件觸發(fā)后,客戶端會(huì)將賬戶、時(shí)間戳向服務(wù)器重新發(fā)出付費(fèi)驗(yàn)證請求; .5)服務(wù)器驗(yàn)證賬號(hào)的類型,如果是未付費(fèi)返回未付費(fèi)狀態(tài)碼;服務(wù)器驗(yàn)證客戶端時(shí)間戳和和服務(wù)器時(shí)間戳是否相同,如果不同,返回多個(gè)相同賬號(hào)同時(shí)登陸狀態(tài)碼;如果賬戶屬于付費(fèi),且時(shí)間戳相同,服務(wù)器產(chǎn)生新的時(shí)間戳以及付費(fèi)狀態(tài)碼和下次驗(yàn)證時(shí)間間隔,返回給客戶端; 6)客戶端根據(jù)狀態(tài)碼重新確定權(quán)限,如果返回值是未付費(fèi)或者多點(diǎn)登陸,則客戶端退出付費(fèi)狀態(tài),結(jié)束安全驗(yàn)證;否則重復(fù)步驟4 ; 其中用戶的類型分為付費(fèi)用戶與免費(fèi)用戶,所述權(quán)限分為付費(fèi)用戶權(quán)限與免費(fèi)用戶權(quán)限,當(dāng)服務(wù)器檢測到用戶為付費(fèi)用戶時(shí),則在返回值上加上當(dāng)前訪問的時(shí)間戳,用戶為免費(fèi)用戶時(shí)不加時(shí)間戳;當(dāng)服務(wù)器收到驗(yàn)證請求后,首先判定驗(yàn)證請求中有無時(shí)間戳,若沒有時(shí)間戳,則先確定用戶的類型,然后確定是否給予時(shí)間戳;若驗(yàn)證請求中存在時(shí)間戳,則將驗(yàn)證請求中的時(shí)間戳與服務(wù)器中時(shí)間戳進(jìn)行對(duì)比,若時(shí)間戳一致,則產(chǎn)生一個(gè)新的時(shí)間戳,并將時(shí)間戳加到返回值中,否則將返回多點(diǎn)登陸代碼令客戶端變?yōu)槊赓M(fèi)用戶權(quán)限。
2.根據(jù)權(quán)利要求I所述的一種基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證方法,其特征在于所述的時(shí)間戳為隨機(jī)數(shù)通過MD5進(jìn)行加密而產(chǎn)生。
3.根據(jù)權(quán)利要求I所述的一種基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證方法,其特征在于所述客戶端發(fā)出驗(yàn)證請求3次未收到返回值時(shí),客戶端變?yōu)槊赓M(fèi)用戶權(quán)限。
4.根據(jù)權(quán)利要求I所述的一種基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證方法,其特征在于所述時(shí)間戳中可含有與服務(wù)器約定的干擾信息。
5.根據(jù)權(quán)利要求I所述的一種基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證方法,其特征在于所述的驗(yàn)證請求通過加密方式傳輸。
6.根據(jù)權(quán)利要求I所述的一種基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證方法,其特征在于所述的時(shí)間戳中包含用戶賬號(hào)信息。
全文摘要
本發(fā)明涉及一種基于C/S架構(gòu)下的軟件權(quán)限驗(yàn)證方法,本方法首先由客戶端將用戶輸入的賬號(hào)和密碼送至服務(wù)器后端驗(yàn)證,服務(wù)器根據(jù)賬號(hào)及密碼確定用戶的類型返回對(duì)應(yīng)的返回值,在付費(fèi)用戶的返回值中,包含了服務(wù)器給予的時(shí)間戳,而在免費(fèi)用戶(或試用用戶)的返回值中不包括時(shí)間戳,而后客戶端分析返回值而后給予不同的權(quán)限。同時(shí),對(duì)于付費(fèi)用戶,客戶端每隔1-3分鐘發(fā)送服務(wù)器驗(yàn)證請求驗(yàn)證付費(fèi)賬號(hào)的真實(shí)性,并在客戶端斷線后及時(shí)退出授權(quán)狀態(tài),發(fā)明與現(xiàn)有技術(shù)相比,其提供了時(shí)間戳作為識(shí)別手段,且時(shí)間戳?xí)S時(shí)更改,客戶端同時(shí)提供了最大驗(yàn)證重復(fù)次數(shù),這樣便防止了常見的相同的賬號(hào)多處登錄、服務(wù)器IP欺騙、多個(gè)付費(fèi)客戶端離線使用等問題。
文檔編號(hào)H04L29/06GK102685135SQ20121015335
公開日2012年9月19日 申請日期2012年5月17日 優(yōu)先權(quán)日2012年5月17日
發(fā)明者吳少剛, 吳少文, 唐科, 張斌, 張珩, 張福新 申請人:江蘇中科夢蘭電子科技有限公司