中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于cookie登陸驗證與退出的示例分析

發布時間:2022-01-19 09:29:36 來源:億速云 閱讀:175 作者:小新 欄目:大數據

這篇文章主要為大家展示了“基于cookie登陸驗證與退出的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“基于cookie登陸驗證與退出的示例分析”這篇文章吧。

看到信息里面有這樣一條疑問:

基于cookie登陸驗證與退出的示例分析

是一個關于關于cookie登陸退出的問題。問題原文為:怎么實現退出登陸,頁面跳轉到登陸頁面,前端登陸后,后端返回字段設置cookie 就可以實現身份認證,但是這個cookies 應該是設置了httponly 字段,不允許前端js操作的,那點擊退出按鈕怎么應該做什么

首先先解決這樣一個疑問,就是不論cookie有沒有設置httponly屬性,登陸或者退出時候的cookie都不應該由js來操作。具體原因后面會說。

網站發送登陸請求之后,在響應頭中通過Set-Cookie來設置cookie,瀏覽器接收到響應后,會將Set-Cookie中的cookie信息存儲到瀏覽器,如圖:

基于cookie登陸驗證與退出的示例分析

此時查看瀏覽器的application 如圖:

基于cookie登陸驗證與退出的示例分析

這是登陸的情況,那退出呢?這時有些朋友認為,點擊退出按鈕,或者進行退出操作,直接調用js刪除cookie不就可以了嗎,一般的項目中是不會這樣操作的,刪除cookie也是通過后端來實現。既然后端可以通過Set-Cookie設置cookie,那么也應該可以通過Set-Cookie刪除cookie,所以一般的項目接口文檔中都會有一個退出接口api。

當前端向這個退出api發送請求時,響應頭中的Set-Cookie一般會將登陸時設置的cookie(PHPSESSID)的expires屬性設置成一個過期時間。這樣瀏覽器解析這個Set-Cookie時就將PHPSESSID刪除掉了。

當向這個退出接口發送信息的時候,看看network會響應什么呢,如圖:

基于cookie登陸驗證與退出的示例分析

再看看appliaction的顯示結果:

基于cookie登陸驗證與退出的示例分析

那為什么不可以用前端的js刪除cookie呢,這里就涉及到了session信息,當你登陸網站后,后端服務器將一個cookie返回給前端,并且會在后端數據庫存儲一個cookie,這兩個cookie是相同的,每次退出后兩個cookie都應該刪除,這就需要前端向后端發送一個刪除cookie的請求,服務器接受到請求后刪除cookie,并在響應頭中設置如下信息。

Set-Cookie:PHPSESSID=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/

瀏覽器接受到以上信息,根據expires字段信息判斷cookie過期(1970年就過期了),將cookie刪除。這樣兩個cookie就都刪除了。

如果只是用前端js將cookie手動清除,后端依然保存著cookie,造成資源浪費,當然還有一些其他的弊端,這里不做贅述。

以上是“基于cookie登陸驗證與退出的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

英德市| 弥渡县| 昌平区| 霍山县| 阳山县| 交口县| 南投市| 开平市| 弋阳县| 康乐县| 英山县| 营山县| 柏乡县| 桑植县| 云龙县| 定州市| 东辽县| 南漳县| 盈江县| 玉田县| 宁乡县| 桃源县| 蒙自县| 富宁县| 永昌县| 扎鲁特旗| 莱州市| 新干县| 新余市| 江西省| 商都县| 四平市| 黄龙县| 永福县| 嘉兴市| 灯塔市| 米泉市| 凤冈县| 福鼎市| 榕江县| 和顺县|