登錄功能設(shè)計(jì)
時(shí)間:2023-09-29 05:48:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-09-29 05:48:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
登錄功能設(shè)計(jì):
一,前端賬戶名,密碼,驗(yàn)證碼是否為空?
密碼是否符合規(guī)則,(特殊字符,大小寫(xiě),數(shù)字,長(zhǎng)度....................)
二,服務(wù)端驗(yàn)證碼是否正確(對(duì)應(yīng)時(shí)間戳是否過(guò)期)
賬戶是否存在(未注冊(cè),已注冊(cè))
密碼是否正確(記錄連續(xù)輸入錯(cuò)誤次數(shù),超過(guò)5次,賬戶鎖定4次 ?;蛱嵘?yàn)證等級(jí),采取賬號(hào)+密碼+驗(yàn)證碼+短信驗(yàn)證)
返回session token
(1)web 從 FileManager 服務(wù)獲取驗(yàn)證碼
(2)FileManager 根據(jù)web上傳的時(shí)間戳(長(zhǎng)度為19位數(shù)字串,精確到秒),生成驗(yàn)證碼圖片,并記錄時(shí)間戳對(duì)應(yīng)的驗(yàn)證碼
(3)web獲取用戶輸入的賬號(hào),密碼(md5加密),驗(yàn)證碼信息發(fā)送到login svr(今后application svr 可能還會(huì)帶上用戶使用瀏覽器類型等用戶環(huán)境信息)
(4)login svr通過(guò)時(shí)間戳獲取驗(yàn)證碼字符串
(5)login svr根據(jù)web獲取的用戶信息動(dòng)態(tài)計(jì)算確定用戶的認(rèn)證等級(jí),如果為默認(rèn)認(rèn)證方式,驗(yàn)證賬號(hào)、密碼、驗(yàn)證碼是否正確,如果正確返回驗(yàn)證成功以及相應(yīng)的session ID;login svr還要在redis 中記錄當(dāng)前用戶session對(duì)應(yīng)的信息,供鑒權(quán)服務(wù)使用
(6)如果login svr 動(dòng)態(tài)計(jì)算的用戶認(rèn)證級(jí)別高于默認(rèn)級(jí)別,則login svr 返回對(duì)應(yīng)的認(rèn)證級(jí)別,web需要根據(jù)返回的結(jié)果提升認(rèn)證級(jí)別,比如OTP認(rèn)證等等
(7)login svr 記錄用戶登入日志(包括但不限于ip,mac地址等)
三,測(cè)試方面 3.1,基本功能測(cè)試點(diǎn)1、輸入正確的用戶名和密碼登錄成功
2、輸入錯(cuò)誤的用戶名密碼登錄失敗
3、用戶名正確密碼錯(cuò)誤,是否提示輸入密碼錯(cuò)誤
4、用戶名錯(cuò)誤,密碼正常,是否提示輸入用戶名錯(cuò)誤
5、用戶名和密碼都錯(cuò)誤,是否有相應(yīng)提示
6、用戶名密碼為空時(shí),是否有相應(yīng)提示
7、如果用戶未注冊(cè),提示請(qǐng)先注冊(cè),然后進(jìn)行登錄
8、已經(jīng)注銷的用戶登錄失敗,提示信息是否友好
9、密碼框是否加密顯示
10、用戶名 是否支持中文、特殊字符
11、用戶名是否有長(zhǎng)度限制
12、用戶名是否支持中文,特殊字符
13、密碼是否有長(zhǎng)度限制
14、密碼是否區(qū)分大小寫(xiě)
15、密碼為一些簡(jiǎn)單常用字符串時(shí),是否提示修改?如:123456
16、密碼存儲(chǔ)方式是否加密
17、登錄功能是否需要輸入驗(yàn)證碼?
(1)驗(yàn)證碼有效時(shí)間
(2)驗(yàn)證碼輸入錯(cuò)誤,登錄失敗,提示信息是否友好
(3)輸入過(guò)期的驗(yàn)證碼是否能登錄成功
(4)驗(yàn)證碼是否容易識(shí)別
(5)驗(yàn)證碼換一張功能是否可用,點(diǎn)擊驗(yàn)證碼圖片是否可以更換驗(yàn)證碼,是否可以登錄
18、用戶體系:比如系統(tǒng)分普通用戶、高級(jí)用戶、不同用戶登錄系統(tǒng)后的權(quán)限不同。
19、如果使用第三方賬號(hào)(QQ、微信、微博賬號(hào))登錄,那么第三方賬號(hào)與本系統(tǒng)的賬號(hào)體系對(duì)應(yīng)關(guān)系如何保存?首次登錄是否需要授權(quán)等。
3.2 ,頁(yè)面測(cè)試1、登錄頁(yè)面顯示是否正常?文字和圖片是否正常顯示,相應(yīng)的提示信息是否正確,按鈕的設(shè)置和排列是否正常,頁(yè)面是否簡(jiǎn)潔美觀等。
2、頁(yè)面默認(rèn)焦點(diǎn)是否定位在用戶名的輸入框中
3、首次登錄時(shí)相應(yīng)的輸入框是否為空?或者如果有默認(rèn)文案,當(dāng)點(diǎn)擊輸入框時(shí)默認(rèn)文案是否消失?
4、相應(yīng)的按鈕如登錄、重置等,是否可用;頁(yè)面的前進(jìn)、后退、刷新按鈕是否可用?
5、快捷鍵Tab,Esc,Enter等,是否可以使用
6、兼容性測(cè)試:不同的瀏覽器,不同操作系統(tǒng),不同分辨率下界面是否正常
3.3,安全測(cè)試1、不登錄:瀏覽器中直接輸入登錄后的地址,看是否可以直接進(jìn)入
2、登陸成功后生成的Cookie,是否是httponly(否則容易被腳本盜?。?br>
3、用戶名和密碼是否通過(guò)加密的方式,發(fā)送給web服務(wù)器
4、用戶名和密碼的驗(yàn)證,應(yīng)該是用服務(wù)器端驗(yàn)證,不能單單在客戶端用javascript驗(yàn)證
5、用戶名和密碼的輸入框,應(yīng)該屏蔽SQL注入攻擊
6、用戶名和密碼的輸入框,應(yīng)該禁止輸入腳本(防止XSS攻擊)
7、錯(cuò)誤登錄的次數(shù)限制(防止暴力破解)
8、考慮是否支持多用戶在同一機(jī)器上登錄
9、考慮一用戶在多臺(tái)機(jī)器上登錄
3.4,性能測(cè)試1、單用戶登錄系統(tǒng)的響應(yīng)時(shí)間是否符合“3-5-8”原則
2、用戶數(shù)在臨界點(diǎn)時(shí)并發(fā)登錄是否還能符合“3-5-8”原則
3、壓力:大量并發(fā)用戶登錄,系統(tǒng)的響應(yīng)時(shí)間是多少?系統(tǒng)會(huì)出現(xiàn)宕機(jī)、內(nèi)存泄漏、cpu飽和、無(wú)法登錄的情況?
4、穩(wěn)定性:系統(tǒng)能否處理并發(fā)用戶數(shù)在臨界點(diǎn)以內(nèi)連續(xù)登錄N個(gè)小時(shí)的場(chǎng)景?
3.5,其他測(cè)試1、連續(xù)輸入3次或或以上錯(cuò)誤密碼,頁(yè)面是否被鎖一定時(shí)間(如:15分鐘),鎖定時(shí)間內(nèi)不允許登錄,超出時(shí)間點(diǎn)是否可以繼續(xù)登錄。
2、用戶session過(guò)期后,重新登錄是否還能重新返回之前session過(guò)期的頁(yè)面?
3、用戶名和密碼輸入框是否支持鍵盤(pán)快捷鍵?如:撤銷、復(fù)制、粘貼等等
4、是否允許同名用戶同時(shí)登錄進(jìn)行操作?考慮web和app同時(shí)登錄
5、手機(jī)登錄時(shí),是否先判斷網(wǎng)絡(luò)可用?
6、手機(jī)登錄時(shí),是否先判斷app存在新版本?
7、是否支持單點(diǎn)登錄?
8、是否有埋點(diǎn)接口【這個(gè)主要是產(chǎn)品設(shè)計(jì)的時(shí)候做好了】