本申請涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種預(yù)防批量注冊的方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)與互聯(lián)網(wǎng)服務(wù)業(yè)的迅速發(fā)展,網(wǎng)站服務(wù)提供商要應(yīng)對的用戶越來越多,部分服務(wù)的提供需要用戶先行注冊,一般地,通用的注冊過程是:由用戶填寫待注冊用戶名和對應(yīng)的待注冊密碼,并將填寫的這些待注冊的信息攜帶在注冊請求中發(fā)送給服務(wù)器,則服務(wù)器響應(yīng)于接收到的注冊請求,可以對注冊請求中攜帶的待注冊的信息進行注冊。
在實際應(yīng)用中,可能會有不法分子利用工具進行惡意批量注冊,一般地,這類批量注冊的過程是:生成一個待注冊用戶名和一個待注冊密碼用于第一次注冊,再對該待注冊用戶名進行簡單的修改,將修改后的待注冊用戶名和該待注冊密碼用于第二次注冊,以此類推,每一次對待注冊用戶名進行修改后都可以生成一組新的待注冊的信息用于注冊?;谶@樣的過程,不法分子可以成功地完成大規(guī)模的惡意批量注冊,這會大大地增加網(wǎng)站的安全風(fēng)險。
在現(xiàn)有技術(shù)中,一般采用圖片驗證碼、手機驗證碼、郵箱驗證碼、人機識別等方式預(yù)防批量注冊。
但是,這些方式都需要用戶與服務(wù)器進行額外的交互,操作繁瑣,效率較低。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種預(yù)防批量注冊的方法及裝置,用以解決現(xiàn)有技術(shù)中的預(yù)防批量注冊的方式需要用戶與服務(wù)器進行額外的交互,操作繁瑣,效率較 低的問題。
本申請實施例還提供一種針對密碼修改請求的處理方法及裝置。
本申請實施例提供的一種預(yù)防批量注冊的方法,包括:
接收終端發(fā)送的注冊請求,所述注冊請求中攜帶有待注冊用戶名和對應(yīng)的待注冊密碼;
根據(jù)所述待注冊密碼和保存的已注冊密碼數(shù)據(jù),確定所述待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1;
當(dāng)確定所述次數(shù)不小于所述預(yù)定閾值時,拒絕對所述待注冊用戶名和所述待注冊密碼進行注冊。
本申請實施例提供的一種預(yù)防批量注冊的裝置,包括:
接收模塊,用于接收終端發(fā)送的注冊請求,所述注冊請求中攜帶有待注冊用戶名和對應(yīng)的待注冊密碼;
確定模塊,用于根據(jù)所述待注冊密碼和保存的已注冊密碼數(shù)據(jù),確定所述待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1;
拒絕模塊,用于當(dāng)確定所述次數(shù)不小于所述預(yù)定閾值時,拒絕對所述待注冊用戶名和所述待注冊密碼進行注冊。
本申請實施例提供的一種針對密碼修改請求的處理方法,包括:
接收終端發(fā)送的、用于請求將原有密碼修改為新密碼的密碼修改請求,所述密碼修改請求中攜帶有所述新密碼;
根據(jù)所述新密碼和保存的修改后密碼數(shù)據(jù),確定所述新密碼在預(yù)定時間段內(nèi)的修改后密碼數(shù)據(jù)中的出現(xiàn)次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1;
當(dāng)確定所述次數(shù)不小于所述預(yù)定閾值時,拒絕將所述原有密碼修改為所述新密碼。
本申請實施例提供的一種針對密碼修改請求的處理裝置,包括:
接收模塊,用于接收終端發(fā)送的、用于請求將原有密碼修改為新密碼的密碼修改請求,所述密碼修改請求中攜帶有所述新密碼;
確定模塊,用于根據(jù)所述新密碼和保存的修改后密碼數(shù)據(jù),確定所述新密碼在預(yù)定時間段內(nèi)的修改后密碼數(shù)據(jù)中的出現(xiàn)次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1;
處理模塊,用于當(dāng)確定所述次數(shù)不小于所述預(yù)定閾值時,拒絕將所述原有密碼修改為所述新密碼。
本申請實施例通過上述至少一種技術(shù)方案,根據(jù)批量注冊的待注冊密碼通常都是相同的這個特征,可以在對注冊請求攜帶的待注冊用戶名和對應(yīng)的待注冊密碼進行注冊前,判斷該待注冊密碼在預(yù)定時間段(比如,最近一段時間)內(nèi)是否已被注冊過多次(具體數(shù)量取決于所述設(shè)定閾值),若是,則可以推測該注冊請求很可能是批量注冊的注冊請求,進而拒絕對該待注冊用戶名和該待注冊密碼進行注冊,這樣的話,可以降低惡意批量注冊的成功率,減小網(wǎng)站的安全風(fēng)險,而且無需用戶與服務(wù)器進行額外的交互,操作簡便,效率較高,從而解決了現(xiàn)有技術(shù)中的問題。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請實施例提供的預(yù)防批量注冊的方法的過程;
圖2為本申請實施例提供的預(yù)防批量注冊的方法在實際應(yīng)用中的一種具體實施過程;
圖3為本申請實施例提供的預(yù)防批量注冊的方法在實際應(yīng)用中的另一種實施過程;
圖4為本申請實施例提供的針對密碼修改請求的處理方法的過程;
圖5為本申請實施例提供的預(yù)防批量注冊的裝置結(jié)構(gòu)示意圖;
圖6為本申請實施例提供的針對密碼修改請求的處理裝置結(jié)構(gòu)示意圖。
具體實施方式
為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及相應(yīng)的附圖對本申請技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
圖1為本申請實施例提供的預(yù)防批量注冊的方法的過程,該過程的執(zhí)行主體可以是用于為用戶注冊的設(shè)備,比如網(wǎng)站的服務(wù)器、應(yīng)用的服務(wù)器等。執(zhí)行主體并不構(gòu)成對本申請的限定。
圖1中的過程具體可以包括以下步驟:
s101:接收終端發(fā)送的注冊請求,所述注冊請求中攜帶有待注冊用戶名和對應(yīng)的待注冊密碼。
在本申請實施例中,終端包括但不限于:個人計算機、手機、平板電腦、智能手表、車載移動臺等。
當(dāng)用戶想要針對執(zhí)行主體進行注冊時,可以通過終端開啟執(zhí)行主體對應(yīng)的網(wǎng)站或應(yīng)用,以及在網(wǎng)站或應(yīng)用內(nèi)打開注冊表單,以填寫待注冊的信息,待注冊的信息至少包括待注冊用戶名和對應(yīng)的待注冊密碼,待注冊的信息還可以包括待注冊的郵箱地址、密碼找回問題及答案、手機號碼等信息。在表單中填寫完待注冊的信息后可以將表單向執(zhí)行主體提交,提交注冊表單操作即為:發(fā)送注冊請求的操作。注冊請求中攜帶有注冊表單中用戶填寫的待注冊的信息。
在本申請實施例中,針對用戶填寫的待注冊的信息,需要進行一些基本校驗,在基本校驗全部通過后,可以執(zhí)行步驟s102,而若基本校驗未通過,可以提示用戶修改待注冊的信息或直接拒絕注冊,則暫時無需執(zhí)行步驟s102。 這樣的話,可以防止浪費執(zhí)行主體的處理資源?;拘r炛饕梢苑譃橐韵聝深悾?/p>
第一類基本校驗,校驗用戶填寫的各項待注冊的信息是否均符合預(yù)定的注冊表單格式,若是,則校驗通過,否則,校驗不通過。該注冊表單格式可以是由執(zhí)行主體(一般作為后臺)預(yù)定的,也可以是由對應(yīng)于執(zhí)行主體的前端預(yù)定的。
可以由前端在用戶在注冊表單中填寫待注冊的信息時,實時地執(zhí)行第一類基本校驗;或者,也可以等待用戶提交注冊表單后,再由執(zhí)行主體(也即,對應(yīng)于前端的后臺)執(zhí)行第一類基本校驗。
第二類基本校驗,需要由執(zhí)行主體基于已注冊數(shù)據(jù)(可以包括已注冊用戶名數(shù)據(jù)、已注冊手機號碼數(shù)據(jù)等)執(zhí)行的一些基本校驗。比如,校驗待注冊用戶名是否已被注冊過,一般地,用戶名需滿足唯一性,因此,若通過校驗確定待注冊用戶名已被注冊過,則校驗不通過。
s102:根據(jù)所述待注冊密碼和保存的已注冊密碼數(shù)據(jù),確定所述待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1。
在本申請實施例中,由于批量注冊通常有個特征:批量注冊的各待注冊密碼都是相同的。因此,為了預(yù)防批量注冊,在上述的基本校驗通過的前提下,還可以進一步地針對注冊請求攜帶的待注冊密碼進行校驗(為了與基本校驗相區(qū)分,將針對待注冊密碼進行的校驗稱為特殊校驗)。特殊校驗至少可以包括步驟s102。
特殊校驗是基于保存的已注冊密碼數(shù)據(jù)執(zhí)行的。已注冊密碼數(shù)據(jù)可以是各已注冊密碼本身(對應(yīng)于明文保存密碼的場景),也可以是通過對各已注冊密碼進行加密操作后生成的、可以間接反映各已注冊密碼的數(shù)據(jù)(對應(yīng)于密文保存密碼的場景)。
本申請對預(yù)定時間段并不做限定。一般地,預(yù)定時間段可以是從當(dāng)前時刻 往前追溯的一段時間,比如最近的一天、一周、一個月或一年等,在這種情況下,步驟s102中的已注冊密碼數(shù)據(jù)可以指預(yù)定時間段內(nèi)的已注冊密碼數(shù)據(jù)。預(yù)定時間段也可以是當(dāng)前時刻之前的所有時間,在這種情況下,步驟s102中的已注冊密碼數(shù)據(jù)可以指已保存的全部已注冊密碼數(shù)據(jù)。
在本申請實施例中,已注冊密碼數(shù)據(jù)可以保存在執(zhí)行主體上,或者,可向執(zhí)行主體傳輸數(shù)據(jù)的其他設(shè)備上。進一步地,本申請對用于保存已注冊密碼數(shù)據(jù)的存儲介質(zhì)并不做限定,其可以保存在緩存中,也可以保存在磁盤等其他存儲介質(zhì)中。例如,若預(yù)定時間段較短,則預(yù)定時間段內(nèi)的已注冊密碼數(shù)據(jù)可能較少,則這些數(shù)據(jù)可以保存在用于保存注冊密碼數(shù)據(jù)的設(shè)備的緩存中,由于緩存的讀寫速度很快,因此,有利于提高本申請的方案的執(zhí)行效率;而若預(yù)定時間段較長,則預(yù)定時間段內(nèi)的注冊密碼數(shù)據(jù)可能較多,緩存的存儲空間可能不足以保存這些數(shù)據(jù),則這些數(shù)據(jù)可以保存在用于保存已注冊密碼數(shù)據(jù)的設(shè)備的磁盤中。本申請對緩存和磁盤存儲空間的具體大小也不做限定,一般地,緩存存儲空間要小于磁盤存儲空間。
在本申請實施例中,在明文保存密碼的場景下,已注冊密碼數(shù)據(jù)具體可以包括各已注冊密碼,則可以通過在已注冊密碼數(shù)據(jù)中查詢待注冊密碼,確定該待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于設(shè)定閾值;而在密文保存密碼的場景下,已注冊密碼數(shù)據(jù)具體可以包括對各已注冊密碼分別執(zhí)行加密操作后生成的數(shù)據(jù),則可以先對該待注冊密碼也執(zhí)行該加密操作,再在已注冊密碼數(shù)據(jù)中查詢執(zhí)行加密操作后的待注冊密碼,以確定該待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于設(shè)定閾值。
在本申請實施例中,需要說明的是,在步驟s102中提到的“確定所述待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值”并非是說待注冊密碼在預(yù)定時間段內(nèi)肯定已被注冊過,顯然,待注冊密碼在預(yù)定時間段內(nèi)也有可能未被注冊過,也即,在步驟s102中確定出的次數(shù)為0。在具體實施時,步驟s102可以通過一次查詢動作完成,也可以通過兩次查詢動作完成。 對于后者,可以將步驟s102拆分為兩個子步驟(每個子步驟分別包含一次查詢動作)執(zhí)行:
第一個子步驟:根據(jù)待注冊密碼和保存的已注冊密碼數(shù)據(jù),確定待注冊密碼在預(yù)定時間段內(nèi)是否已被注冊過,若是,執(zhí)行第二個子步驟,否則,可以對待注冊密碼和對應(yīng)的待注冊用戶名進行注冊,或者,對待注冊密碼進行更進一步的校驗。
第二個子步驟:當(dāng)確定待注冊密碼在預(yù)定時間段內(nèi)已被注冊過時,再進一步地確定已被注冊的次數(shù)。
s103:當(dāng)確定所述次數(shù)不小于所述預(yù)定閾值時,拒絕對所述待注冊用戶名和所述待注冊密碼進行注冊。
在本申請實施例中,可以根據(jù)步驟s102對應(yīng)的確定結(jié)果,決定是否對待注冊用戶名和待注冊密碼進行注冊。
若確定結(jié)果為是,則可以推測出步驟s101中接收到的注冊請求很有可能屬于批量注冊的請求,進而可以拒絕對待注冊用戶名和待注冊密碼進行注冊,并可以提示用戶更換更換待注冊密碼,從而可以降低批量注冊的成功概率。
若確定結(jié)果為否,后續(xù)的處理方式可以不止一種。比如,可以對待注冊用戶名和待注冊密碼進行注冊,也可以針對待注冊密碼進行更進一步的校驗,在后一種情況下,特殊校驗除了包括步驟s102以外,還包括了所述更進一步的校驗,在后面會進行說明。
通過圖1中的方法,根據(jù)批量注冊的待注冊密碼通常都是相同的這個特征,可以在對注冊請求攜帶的待注冊用戶名和對應(yīng)的待注冊密碼進行注冊前,判斷該待注冊密碼在預(yù)定時間段(比如,最近一段時間)內(nèi)是否已被注冊過多次(具體數(shù)量取決于所述設(shè)定閾值),若是,則可以推測該注冊請求很可能是批量注冊的注冊請求,進而拒絕對該待注冊用戶名和該待注冊密碼進行注冊,這樣的話,可以降低惡意批量注冊的成功率,減小網(wǎng)站的安全風(fēng)險,而且無需用戶與服務(wù)器進行額外的交互,操作簡便,效率較高,從而解決了現(xiàn)有技術(shù)中 的問題。
為了便于理解,下面對圖1中的步驟進一步地說明。
如前所述,由于批量注冊的待注冊密碼通常都是相同的,因此,通過步驟s101~s103可以預(yù)防批量注冊。但是,在實際應(yīng)用中,還可能存在這種情況:某些批量注冊的各待注冊密碼可能并非是完全相同的,而只是各待注冊密碼中部分內(nèi)容是相同的,也即,各待注冊密碼只是相似的,例如,各待注冊密碼可能都是根據(jù)某個種子密碼生成的,假定種子密碼為“abcdef”,根據(jù)種子密碼可以生成諸如“abcdef001”、“abcdef002”、“abcdef003”等待注冊密碼,可以看到,生成的各待注冊密碼中前三分之二部分的內(nèi)容是相同的,都為“abcdef”,而后三分之一部分的內(nèi)容互不相同。在這種情況下,執(zhí)行步驟s102后確定出的次數(shù)可能小于預(yù)定閾值,進而不滿足步驟s103的執(zhí)行條件。
為了提高本申請的方案的可靠性以及擴大本申請的方案的適用范圍,本申請實施例針對上述的情況提供了應(yīng)對方案。具體地,在執(zhí)行步驟s102后,當(dāng)確定所述次數(shù)小于所述預(yù)定閾值時,可以根據(jù)所述待注冊密碼中的預(yù)定部分(所述預(yù)定部分少于完整的待注冊密碼)和所述已注冊密碼數(shù)據(jù),判斷所述預(yù)定部分在所述預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于所述預(yù)定閾值;若否,則拒絕對所述待注冊用戶名和所述待注冊密碼進行注冊。
可以看到,在這種情況下,上面提到的特殊校驗包括的所述更進一步的校驗即為:確定待注冊密碼中的預(yù)定部分在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值。特殊校驗執(zhí)行完畢后,可以根據(jù)特殊校驗的校驗結(jié)果,確定是否拒絕對待注冊用戶名和待注冊密碼進行注冊。
進一步地,若待注冊密碼以及待注冊密碼的預(yù)定部分在預(yù)定時間段內(nèi)已被注冊過的次數(shù)均小于所述預(yù)定閾值,可以認(rèn)為該待注冊密碼對應(yīng)的注冊請求屬于批量注冊的注冊請求的概率較小,因此,可以對待注冊密碼和對應(yīng)的待注冊用戶名進行注冊。
在本申請實施例中,預(yù)定部分可以是待注冊密碼中的前三分之二部分、或 后二分之一部分,或中間的三分之一部分,等等,本申請對此并不做限定,可以根據(jù)實際需要預(yù)先設(shè)定。對于上例,假定指定部分為待注冊密碼中的前三分之二部分(也即,“abcdef”),由于上例中的批量注冊的各待注冊密碼中的前三分之二部分都是相同的,因此,可以預(yù)防上例中的批量注冊,在預(yù)定時間內(nèi),該批量注冊最多只能注冊預(yù)定閾值個待注冊用戶名和對應(yīng)的待注冊密碼。
在本申請實施例中,在明文保存密碼的場景下,已注冊密碼數(shù)據(jù)可以包括:預(yù)定時間段內(nèi)的各已注冊密碼。則對于步驟s102,根據(jù)所述待注冊密碼和保存的已注冊密碼數(shù)據(jù),確定所述待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值,具體可以包括:在保存的預(yù)定時間端內(nèi)的各已注冊密碼中查詢以確定待注冊密碼的出現(xiàn)次數(shù)(該出現(xiàn)次數(shù)即為:該待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)),判斷該出現(xiàn)次數(shù)是否不小于預(yù)定閾值。
在實際應(yīng)用中,由于明文保存密碼容易導(dǎo)致密碼從服務(wù)器側(cè)泄露,因此,很少采用明文保存密碼,通常會采用密文保存密碼。進一步地,密文保存密碼所述采用的加密方式通常為不可逆加密算法,這樣的話,一旦加密,任何人也可無法將密文還原為原來的密碼,從而可以防止密碼從服務(wù)器側(cè)泄露。以下主要基于密文保存密碼的場景,繼續(xù)說明本申請的方案。
對于相同的原始數(shù)據(jù),采用相同的加密算法可以計算出的相同的密文,進而當(dāng)確定兩份密文相同時,可以確定兩份密文對應(yīng)的原始數(shù)據(jù)也是相同的?;谶@樣的原理,在密文保存密碼的場景下,已注冊密碼數(shù)據(jù)可以包括:預(yù)定時間段內(nèi)的、采用預(yù)定加密算法計算出的各已注冊密碼的密文。則對于步驟s102,根據(jù)所述待注冊密碼和保存的已注冊密碼數(shù)據(jù),確定所述待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值,具體可以包括:采用所述預(yù)定加密算法,計算所述待注冊密碼的密文;在采用預(yù)定加密算法計算出的各已注冊密碼的密文中,查詢所述待注冊密碼的密文,其中,所述各已注冊密碼是在所述預(yù)定時間段內(nèi)被注冊的;根據(jù)查詢結(jié)果,確定所述待注冊密碼在所述預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值。
本申請對所述加密算法并不做限定。一般地,可以采用摘要算法作為所述加密算法,用于計算密碼的密文,相應(yīng)的,密文即為摘要。摘要算法包括但不限于:消息加密算法版本5(messagedigestalgorithm5)、循環(huán)冗余校驗(cyclicredundancycheck,crc)、安全哈希算法(securehashalgorithm,sha),等等。當(dāng)然,除了摘要算法以外,諸如ras加密、數(shù)據(jù)加密標(biāo)準(zhǔn)(dataencryptionstandard,des)加密其他加密算法也可以用于實施本申請的方案。
類似地,假定在執(zhí)行步驟s102后,還需要判斷預(yù)定部分在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值的話,也可以采用預(yù)定加密算法,計算該預(yù)定部分的密文,再通過在各已注冊密碼的密文中查詢該預(yù)定部分的密文,確定該指定部分在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值。可以看到,對于待注冊密碼中的預(yù)定部分,由于可以采用本申請實施例中針對完整的待注冊密碼的處理方式,對該預(yù)定部分進行類似的處理,因此,以下主要針對完整的待注冊密碼說明本申請的方案,而不針對該指定部分贅述本申請的方案。
在本申請實施例中,可以通過調(diào)節(jié)預(yù)定閾值,調(diào)節(jié)針對批量注冊的預(yù)防強度,預(yù)定閾值越高,可批量注冊成功的用戶名和密碼的數(shù)量越多(一般地,該數(shù)量超過預(yù)定閾值后,后續(xù)的可批量注冊的注冊請求才可能被拒絕),因此,防御的強度反而越低。
在本申請實施例中,對于“根據(jù)查詢結(jié)果,確定所述待注冊密碼在所述預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值”的具體實施方案并不做限定。下面列舉出處兩種可行的實施方案作為示例。
不同的實施方案可以由已注冊密碼數(shù)據(jù)的保存格式?jīng)Q定。
對應(yīng)于第一種實施方案的已注冊密碼數(shù)據(jù)的保存格式為:以鍵值對(key-value)的形式保存已注冊密碼數(shù)據(jù),比如各已注冊密碼的密文,其中,每一個key是一個已注冊密碼的密文,該key對應(yīng)的value可以是預(yù)定時間段內(nèi)該已注冊密碼已被注冊過的次數(shù)。每當(dāng)新增一個已注冊密碼的密文時,可以 判斷是否存在該新增的已注冊密碼的密文的key,若是,則將該key對應(yīng)的value加1(也即,預(yù)定時間段內(nèi)該已注冊密碼已被注冊過的次數(shù)增加了一次),否則,創(chuàng)建一個該新增的已注冊密碼的密文的key,并設(shè)置創(chuàng)建的key的value為1(也即,預(yù)定時間段內(nèi)該已注冊密碼已被注冊過1次)。
相應(yīng)地,第一種實施方案為:對于某個待注冊密碼,假定在保存的上述各鍵值對中查詢到該待注冊密碼的密文的key,則表示該待注冊密碼已被注冊過,進而該key的value即為該待注冊密碼已被注冊過的次數(shù),而無需再次統(tǒng)計。由此可見,第一種實施方案有利于提高本申請的方案的執(zhí)行效率。
對應(yīng)于第二種實施方案的已注冊密碼數(shù)據(jù)的保存格式為:以鍵值對(key-value)的形式保存各已注冊用戶名,其中,每一個key是一個已注冊用戶名,該key對應(yīng)的value可以是該已注冊用戶名對應(yīng)的已注冊密碼的密文。每當(dāng)新增一個已注冊用戶名時,創(chuàng)建該新增的已注冊用戶名的key,并設(shè)置創(chuàng)建的key的value為該已注冊用戶名對應(yīng)的已注冊密碼的密文。
相應(yīng)地,第二種實施方案為:對于某個待注冊密碼,假定在保存的上述各鍵值對中查詢到該待注冊密碼的密文的value,則表示該待注冊密碼已被注冊過,進而可以統(tǒng)計查詢出的該value的出現(xiàn)次數(shù),該出現(xiàn)次數(shù)即為該待注冊密碼已被注冊過的次數(shù)。由此可見,第二種實施方案無需在數(shù)據(jù)表中增加額外的屬性列(用于記錄上述的次數(shù)的屬性列),有利于降低本申請的方案的實施成本。
上面對圖1中的步驟進一步地進行了說明。為了便于理解,本申請實施例還提供了預(yù)防批量注冊的方法在實際應(yīng)用中的一種具體實施過程,如圖2所示。圖2中的過程適用于預(yù)防各待注冊密碼相同的批量注冊。
在圖2中可以看到,用于為用戶注冊的設(shè)備可以通過注冊系統(tǒng)和緩存為用戶校驗待注冊密碼。用戶通過終端填寫待注冊的信息,并攜帶在注冊請求中提交給注冊系統(tǒng),注冊系統(tǒng)對待注冊的信息進行基本校驗,若基本校驗不通過則可以拒絕注冊并向用戶提示,若基本校驗通過,則可以計算待注冊的信息中包 含的待注冊密碼的密文,在緩存中保存的各已注冊密碼的密文中查詢該待注冊密碼的密文的出現(xiàn)次數(shù),若出現(xiàn)次數(shù)小于預(yù)定閾值(預(yù)定閾值不小于1),則將出現(xiàn)次數(shù)加1并為用戶注冊,若出現(xiàn)次數(shù)不小于預(yù)定閾值,則拒絕注冊并向用戶提示。
進一步地,本申請實施例還提供了預(yù)防批量注冊的方法在實際應(yīng)用中的另一種實施過程,如圖3所示。圖3中的過程適用于預(yù)防各待注冊密碼相同和/或相似的批量注冊,顯然,圖3中的過程比圖2中的過程的適用范圍更廣。
圖3中的過程具體可以包括以下步驟:
s301:接收終端發(fā)送的注冊請求,注冊請求中攜帶有待注冊用戶名和對應(yīng)的待注冊密碼。
s302:對待注冊的信息進行基本校驗,確定基本校驗是否未通過,若是,則執(zhí)行步驟s303,若否,則執(zhí)行步驟s304。
s303:拒絕注冊,并進行相應(yīng)的提示。
s304:確定待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否超過預(yù)定閾值,若是,則執(zhí)行步驟s303,若否,則執(zhí)行步驟s305。
s305:確定待注冊密碼中的預(yù)定部分在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否超過預(yù)定閾值,若是,則執(zhí)行步驟s303,若否,則執(zhí)行步驟s306。
s306:對待注冊用戶名和對應(yīng)的待注冊密碼進行注冊。
在本申請實施例中,以上提及的方案均是基于用戶請求注冊的場景進行說明的,在實際應(yīng)用中,本申請的方案的發(fā)明思路還可以用于其他一些場景,比如用戶請求修改已注冊密碼的場景,用戶請求為尚未創(chuàng)建密碼的用戶名創(chuàng)建密碼的場景,等等,在這些場景下,用戶都需要向服務(wù)器提交密碼,則服務(wù)器可以對用戶提交的密碼執(zhí)行上述的特殊校驗,并根據(jù)特殊校驗結(jié)果,確定如何對用戶提交的密碼進行處理。
以修改已注冊密碼的場景作為示例進行說明?;谂c本申請實施例提供的預(yù)防批量注冊的方法同樣的發(fā)明思路,本申請實施例還提供了一種針對密碼修 改請求的處理方法,該處理方法的過程如圖4所示。
該處理方法的過程的執(zhí)行主體可以是用于為用戶修改密碼的設(shè)備,該處理方法的過程具體可以包括以下步驟:
s401:接收終端發(fā)送的、用于請求將原有密碼修改為新密碼的密碼修改請求,所述密碼修改請求中攜帶有所述新密碼。
s402:根據(jù)所述新密碼和保存的修改后密碼數(shù)據(jù),確定所述新密碼在預(yù)定時間段內(nèi)的修改后密碼數(shù)據(jù)中的出現(xiàn)次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1。
在本申請實施例中,保存的修改后密碼數(shù)據(jù)具體可以包括:為任意用戶成功地將原有密碼修改為新密碼后,保存的各所述新密碼。
s403:當(dāng)確定所述次數(shù)不小于所述預(yù)定閾值時,拒絕將所述原有密碼修改為所述新密碼。
圖4中的方法可以配合于圖1中的方法使用,以提高圖1中的方法的可靠性(具體地,可以減少用戶修改密碼的操作對其他用戶注冊過程的影響)。同時,圖4中的方法還具有一些額外的有益效果,通過圖4中的方法,可以使得用戶難以將原有密碼修改為在預(yù)定時間段內(nèi)已多次被成功地用于密碼修改過程的新密碼,有利于提高用戶的密碼的安全性。
與圖1中的步驟類似,在執(zhí)行完步驟s402后,當(dāng)確定所述次數(shù)小于所述預(yù)定閾值時,可以根據(jù)所述新密碼中的預(yù)定部分和所述修改后密碼數(shù)據(jù),判斷所述預(yù)定部分在所述預(yù)定時間段內(nèi)的修改后密碼數(shù)據(jù)中的出現(xiàn)次數(shù)是否不小于所述預(yù)定閾值;若否,則拒絕將所述原有密碼修改為所述新密碼。通過這個步驟,可以使得用戶難以將原有密碼修改為在預(yù)定時間段內(nèi)已多次被成功地用于密碼修改過程的新密碼,以及使得用戶難以將原有密碼修改為與在預(yù)定時間段內(nèi)成功地用于密碼修改過程的新密碼相似的密碼,有利于進一步地提高用戶的密碼的安全性。
需要說明的是,假定各所述新密碼不是被直接保存的,而是加密后再保存 的,則保存的修改后密碼數(shù)據(jù)具體可以包括:為任意用戶成功地將原有密碼修改為新密碼后,保存的對各所述新密碼采用預(yù)定加密算法進行加密后的數(shù)據(jù)。相應(yīng)地,可以將步驟s402修改為:采用所述預(yù)定加密算法對所述新密碼進行加密,確定對所述新密碼加密后的數(shù)據(jù)在預(yù)定時間段內(nèi)的修改后密碼數(shù)據(jù)中的出現(xiàn)次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1。
以上為本申請實施例提供的預(yù)防批量注冊的方法和針對密碼修改請求的處理方法,基于同樣的發(fā)明思路,本申請實施例還提供相應(yīng)的預(yù)防批量注冊的裝置和針對密碼修改請求的處理裝置,如圖5、圖6所示。
圖5為本申請實施例提供的預(yù)防批量注冊的裝置結(jié)構(gòu)示意圖,具體包括:
接收模塊501,用于接收終端發(fā)送的注冊請求,所述注冊請求中攜帶有待注冊用戶名和對應(yīng)的待注冊密碼;
確定模塊502,用于根據(jù)所述待注冊密碼和保存的已注冊密碼數(shù)據(jù),確定所述待注冊密碼在預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1;
拒絕模塊503,用于當(dāng)確定所述次數(shù)不小于所述預(yù)定閾值時,拒絕對所述待注冊用戶名和所述待注冊密碼進行注冊。
所述拒絕模塊503還用于:當(dāng)確定所述次數(shù)小于所述預(yù)定閾值時,根據(jù)所述待注冊密碼中的預(yù)定部分和所述已注冊密碼數(shù)據(jù),判斷所述預(yù)定部分在所述預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于所述預(yù)定閾值;若否,則拒絕對所述待注冊用戶名和所述待注冊密碼進行注冊。
所述已注冊密碼數(shù)據(jù)包括:各已注冊密碼,和/或采用預(yù)定加密算法計算出的各已注冊密碼的密文;其中,所述各已注冊密碼是在所述預(yù)定時間段內(nèi)被注冊的。
當(dāng)所述已注冊密碼數(shù)據(jù)包括所述采用預(yù)定加密算法計算出的各已注冊密碼的密文時,所述確定模塊502具體用于:采用所述預(yù)定加密算法,計算所述待注冊密碼的密文;在采用預(yù)定加密算法計算出的各已注冊密碼的密文中,查 詢所述待注冊密碼的密文,其中,所述各已注冊密碼是在所述預(yù)定時間段內(nèi)被注冊的;根據(jù)查詢結(jié)果,確定所述待注冊密碼在所述預(yù)定時間段內(nèi)已被注冊過的次數(shù)是否不小于預(yù)定閾值。
所述加密算法包括用于計算摘要的算法,所述密文包括摘要。
具體的上述如圖5所示的裝置可以位于用于為用戶注冊的設(shè)備上。
通過圖5中的裝置,可以降低各待注冊密碼相同和/或相似的批量注冊的成功率,減小網(wǎng)站的安全風(fēng)險,而且無需用戶與服務(wù)器進行額外的交互,從而解決了現(xiàn)有技術(shù)中的問題。
圖6為本申請實施例提供的針對密碼修改請求的處理裝置結(jié)構(gòu)示意圖,具體包括:
接收模塊601,用于接收終端發(fā)送的、用于請求將原有密碼修改為新密碼的密碼修改請求,所述密碼修改請求中攜帶有所述新密碼;
確定模塊602,用于根據(jù)所述新密碼和保存的修改后密碼數(shù)據(jù),確定所述新密碼在預(yù)定時間段內(nèi)的修改后密碼數(shù)據(jù)中的出現(xiàn)次數(shù)是否不小于預(yù)定閾值,所述預(yù)定閾值不小于1;
處理模塊603,用于當(dāng)確定所述次數(shù)不小于所述預(yù)定閾值時,拒絕將所述原有密碼修改為所述新密碼。
所述處理模塊603還用于:當(dāng)確定所述次數(shù)小于所述預(yù)定閾值時,根據(jù)所述新密碼中的預(yù)定部分和所述已注冊密碼數(shù)據(jù),判斷所述預(yù)定部分在所述預(yù)定時間段內(nèi)的修改后密碼數(shù)據(jù)中的出現(xiàn)次數(shù)是否不小于所述預(yù)定閾值;若否,則拒絕將所述原有密碼修改為所述新密碼。
具體的上述如圖6所示的裝置可以位于用于為用戶修改密碼的設(shè)備上。
通過圖6中的裝置,可以提高用戶修改后的密碼的安全性。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包 含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其 他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。