亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

前端token中4個存儲位置的優(yōu)缺點說明

 更新時間:2022年10月13日 09:27:07   作者:燕穗子博客  
這篇文章主要介紹了前端token中4個存儲位置的優(yōu)缺點說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

一、token是什么 

Token: 訪問資源的憑證。

一般用戶通過用戶名密碼登錄后,服務端會將登錄憑證做數(shù)字簽名,加密之后的字符串作為Token。

并在客戶端后面的向服務端的請求中攜帶,作為憑證。

二、token一般存放在哪里?

token 在客戶端一般存放于localStorage、cookie、或sessionStorage,vuex中。

1、localStorage

  • 優(yōu)點: localStorage 生命周期是永久,這意味著除非用戶顯示在瀏覽器提供的UI上清除localStorage信息,否則這些信息將永遠存在。相同瀏覽器的不同頁面間可以共享相同的localStorage (頁面屬中相可域名和端口)。
  • 缺點:同一個屬性名的數(shù)據(jù)會被替換,不同瀏覽器無法共享localStorage或sessionStorage中的信息。

2、sessionStorage

  • 優(yōu)點: sessionStorage生 命周期為當前窗口或標簽頁,sessionStorage的數(shù)據(jù)不會被其他窗口清除,頁面及標簽頁僅指頂級窗口,如果一個標簽頁包含多個iframe標簽且他們屬于同源頁面,那么他們之間是可以共享sessionStorage的。
  • 缺點:一旦窗口或標簽頁被永久關閉了,那么所有通過sessionStorage存儲的數(shù)據(jù)也就被清空了。

將token存放在webstroage中,可以通過同域的js來訪問。這樣會導致很容易受到 XSS攻擊,特別是項目中引入很多 第三方js類庫的情況下。如果js腳本被盜用,攻擊者就 可以輕易訪問你的網(wǎng)站,webStroage作為一種儲存機制,在傳輸過程中不會執(zhí)行任何安全標準。

XSS攻擊:cross-site Scripting (跨站腳本攻擊) 是一種注入代碼攻擊。惡意攻擊者在目標網(wǎng)站生注入script代碼,當訪問者瀏覽網(wǎng)站的時候通過執(zhí)行注入的script代碼達到竊取用戶信息,盜用用戶身份等。

3、存儲在cookie 中

讓它自動發(fā)送,不過缺點就是不能跨域

將token存放在cookie中可以指定httponly,來防止被javascript讀取,也可以指定secure ,來保證token只在HTTPS下傳輸。缺點是不符合Restful 最佳實踐,容易受到CSRF攻擊。

CSRF跨站點請求偽造(Cross-Site Request Forgery),跟XSS攻擊一樣,存在巨大的危害性。

簡單來說就是惡意攻擊者盜用已經(jīng)認證過的用戶信息,以用戶信息名義進行一些操作(如發(fā)郵件、轉賬、購買商品等等)。由于身份已經(jīng)認證過,所以目標網(wǎng)站會認為操作都是真正的用戶操作的。CSRF并不能拿到用戶信息,它只是盜用的用戶憑證去進行操作。

4、Vuex

  • 優(yōu)點:vuex的數(shù)據(jù)存儲在內存中,保密性較高
  • 缺點:刷新頁面(這里 的刷新頁面指的是--> F5刷新,屬于清除內存了)時vuex存儲的值會丟失

總結:也就是說,localStorage可存儲持久化的數(shù)據(jù);sessionStorage僅限于當前窗口;vuex可存儲保密性較高的數(shù)據(jù),但刷新頁面后數(shù)據(jù)會被清除.

三、token基本流程

(1)用戶登陸,發(fā)送手機號碼和驗證碼

(2)后臺接收參數(shù),查找用戶,用戶存在就生成token,返回給前端

(3)前端登陸成功,把token存到vuex(做持久化)

(4)使用axios攔截器,讀取vuex中的token,并放入請求頭

(5)請求其他接口,就會帶上token

(6)后臺在需要登陸的接口上,獲取token,解密token獲得userId,返回前端需要的數(shù)據(jù)

(7)用戶在下次使用app,如果token還在有效期內,不需要重新登陸

客戶端使用用戶名跟密碼去請求登陸,服務度段收到請求,去驗證用戶名和密碼,驗證成功后,服務端會簽發(fā)一個token,再把這個token發(fā)送給客戶端,客戶頓收到token之后能夠把它存儲起來,

好比放在cookie里面或者local storage里面,客戶端每次向服務端請求資源的時候須要帶上服務端簽發(fā)的token,服務端收到請求,而后去驗證客戶端請求里面帶著的token,若是驗證成功,以某種方式好比隨機生成32位的字符串做為token,存儲在服務器中,并返回token到APP,

之后APP請求時,凡是須要驗證的地方都要帶上該token,而后服務端驗證token,成功返回所須要的結果,失敗返回錯誤信息,從新登陸,服務器上的token設置一個有效期,每次APP請求時都要驗證token和有效期。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Vue實現(xiàn)快捷鍵錄入功能的示例代碼

    Vue實現(xiàn)快捷鍵錄入功能的示例代碼

    有的時候項目需要在頁面使用快捷鍵,而且需要對快捷鍵進行維護。本文將為大家展示Vue實現(xiàn)快捷鍵錄入功能的示例代碼,感興趣的可以了解一下
    2022-04-04
  • 關于@click.native中?.native?的含義與使用方式

    關于@click.native中?.native?的含義與使用方式

    這篇文章主要介紹了關于@click.native中?.native?的含義與使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 在 Vue 中使用 JSX 及使用它的原因淺析

    在 Vue 中使用 JSX 及使用它的原因淺析

    這篇文章主要介紹了在 Vue 中使用 JSX 及使用它的原因淺析,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • vue3父組件和子組件如何傳值實例詳解

    vue3父組件和子組件如何傳值實例詳解

    近期學習vue3的父子組件之間的傳值,發(fā)現(xiàn)跟vue2.x的父子組件之間的傳值并沒有太大的區(qū)別,下面這篇文章主要給大家介紹了關于vue3父組件和子組件如何傳值的相關資料,需要的朋友可以參考下
    2022-08-08
  • 一文詳解Vue的響應式原則與雙向數(shù)據(jù)綁定

    一文詳解Vue的響應式原則與雙向數(shù)據(jù)綁定

    使用 Vue.js 久了,還是不明白響應式原理和雙向數(shù)據(jù)綁定的區(qū)別?今天,我們就一起來學習一下,將解釋它們的區(qū)別,快跟隨小編一起學習學習吧
    2022-08-08
  • 手把手教你用vue3開發(fā)一個打磚塊小游戲

    手把手教你用vue3開發(fā)一個打磚塊小游戲

    這篇文章主要給大家介紹了關于如何利用vue3開發(fā)一個打磚塊小游戲的相關資料,通過一個小游戲實例可以快速了解vue3開發(fā)小游戲的流程,需要的朋友可以參考下
    2021-07-07
  • 基于Vue實現(xiàn)樹形穿梭框的示例代碼

    基于Vue實現(xiàn)樹形穿梭框的示例代碼

    這篇文章主要為大家介紹了如何利用Vue實現(xiàn)一個樹形穿梭框,elementUI和ant-d組件庫的穿梭框組件效果都不是很好,所以本文將利用一個新的插件來實現(xiàn),需要的可以參考一下
    2022-04-04
  • vue 導航錨點_點擊平滑滾動,導航欄對應變化詳解

    vue 導航錨點_點擊平滑滾動,導航欄對應變化詳解

    這篇文章主要介紹了vue 導航錨點_點擊平滑滾動,導航欄對應變化詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue實現(xiàn)橫向斜切柱狀圖

    vue實現(xiàn)橫向斜切柱狀圖

    這篇文章主要為大家詳細介紹了vue實現(xiàn)橫向斜切柱狀圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue2導航根據(jù)路由傳值,而改變導航內容的實例

    vue2導航根據(jù)路由傳值,而改變導航內容的實例

    下面小編就為大家?guī)硪黄獀ue2導航根據(jù)路由傳值,而改變導航內容的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論