Token逐漸認識

2021-08-10 11:57:24 字數 1087 閱讀 1946

定義:token是乙個使用者自定義的任意字串。在成功提交了開發者自定義的這個字串之後,token的值會儲存到localstrocage中(這個可以儲存在cookie中,跟cookie不一樣的區別是沒有時間的侷限)

以前我們是基於伺服器驗證方式

http協議是無狀態的,這種無狀態意味著程式需要驗證每一次請求,從而去驗證客戶的身份。在著之前程式都是通過在服務端儲存的登入資訊來分別請求的客戶。這種方式都是通過儲存的session來完成。

但是給予伺服器驗證出現一些談不上bug的bug

1.session每次認證使用者發起請求時,伺服器需要去建立乙個記錄來儲存資訊,當越來越多的使用者傳送請求,就會儲存越來越多的資訊,記憶體的開銷也會不斷增加。2.可擴充套件性:在服務端的記憶體中使用session儲存登入資訊,伴隨的就是可擴充套件的問題。3,如果出現跨域資源共享,ajax抓取另外乙個資源,就會出現禁止請求的情況。

基於token的驗證原理

基於token的身份驗證時無狀態的,我們不將使用者資訊存在伺服器或者session中,看步驟:首先是通過使用者名稱和密碼傳送請求到伺服器。在這是在controller層程式驗證,再就是返回乙個有標記(簽名)的token給客戶端,然後呢客戶端儲存token並且每次用於傳送請求。再就是伺服器端驗證token並返回資料。(每一次請求都需要token,token應該在http的頭部傳送並且保證了http的請求無狀態,並且需要設定伺服器端屬性access.)

token d的優勢

無狀態、可擴充套件。在客戶端儲存的token是無狀態的,並且能夠被擴充套件。基於這種無狀態和不存在session資訊,負載均衡器能夠講使用者資訊從乙個伺服器傳到別的伺服器上面,可擴充套件。(如果我們將已經驗證的使用者的資訊儲存在session中,則每次請求都是需要使用者向已驗證的伺服器傳送驗證資訊,使用者量大的時候會很慢和堵塞,)

多平台跨域

(以上就是對token乙個簡單的認識,後面要寫乙個例項)

Token及Token驗證流程

token實際就是在計算機身份驗證中的令牌 臨時 的意思。當前端向後端發起資料請求的時候,後端需要對前端進行身份驗證,但是我們又不想每次都輸入使用者名稱和密碼,這是就需要乙個標識來證明自己的身份,這個標識就是token。客戶端使用使用者名稱和密碼請求登入 服務端收到請求,驗證登入是否成功 驗證成功後...

Token防爆破? Token繞過

實驗環境 皮卡丘靶場 暴力破解 token防繞過?實驗步驟 檢視頁面原始碼,發現表單中隱藏的input的標籤裡面有個隱藏的token。該token是使用者在開啟頁面的時候,向後台請求乙個token,後台就會產生乙個新的token 當使用者提交賬號和密碼的時候,也會提交token值,後端會先對toke...

逐漸喪失的Business Sense

好了,說完common sense,自然也就想到了business sense。business sense按照俗話來說,就是有商業頭腦。何謂商業頭腦,說白了就是在商業上的common sense,因為關注於business,自然也就不common了。於是,去掉common一詞,也就成了busine...