題記:今天這篇短文寫的有點晚,原因就是遇到了一些坑恨锚,加之自測的總是出現(xiàn)問題宇驾,所以一直處理到現(xiàn)在。測試轉(zhuǎn)開發(fā)真的是有毒眠冈,對自己的代碼總能找出各種問題飞苇,最后我索性走通主流程,細測出來的其bug就當不知道~~~~
昨天說完注冊蜗顽,今天我們一起來寫一下登錄方法布卡,首先,登錄的路由已經(jīng)寫好雇盖,view層也定義結束忿等。那么我們就應該定義Login 類了,如下圖所示崔挖,這里首先對session判斷贸街,如果有session能匹配到,不要登錄直接輸入首頁域名就能判斷登錄成功狸相,嗯薛匪?不明白什么是session,那知道什么是cookie嗎脓鹃?這邊普及一下cookie和session
為什么會用到session和cookie逸尖?原因很簡單,登錄的操作只能在登錄頁面去做瘸右,別的頁面不知道我是否登錄成功娇跟,所以,我的頁面每次都要請求發(fā)一條請求太颤,就要帶一串session苞俘,用來驗證我是否對當前頁面有操作權限。如圖2所示我后臺生產(chǎn)一個cookie龄章,我們?nèi)g覽器觀察吃谣,如圖3乞封,很明顯能看到一條cookie存在了瀏覽器,而且是明文基协,所以很不安全歌亲,如果被非法分子獲取到終于cookie,就會進行數(shù)據(jù)模擬澜驮。
我用php寫了一條驗證登錄的腳本陷揪,我模擬了姓名為sss如圖4
不出意外的居然驗證通過了,所以這就危險了杂穷。如圖5
session存在服務器悍缠,只會返回一串sessionid/token到cookie里面,如下圖所示耐量,我先定義一個session飞蚓,并把它打印出來如圖6所示,很明顯廊蜒,除非我把它打印出來趴拧,否則誰也不知道我存的是什么,我的cookie里面只有一串sessionid如圖7山叮。這就很安全了(當然啦著榴,我還記得當初用jemter獲取token(sessionid),然后跟上接口地址屁倔,加上post參數(shù)脑又,也能搞事情~~~~~在這里呢,為了避免這樣的問題锐借,我們可以把請求地址的后綴也做加密處理问麸,讓用戶根本不知道路由地址,就能解決這樣的問題了钞翔。)
接下來我在做一個簡單的驗證只有當我的session里面有指定的參數(shù)严卖,我才讓你登錄成功。如圖8
結果顯而易見布轿,能夠走到我這個判斷中去妄田,本來要寫登錄驗證,結果閑扯了這么多驮捍,明天再講吧~~~