瀏覽器禁用了cookie怎麼辦

2021-10-03 06:39:42 字數 1572 閱讀 5648

在web開發過程中,cookie是我們常用的功能;最基本的用來儲存服務端返回的jsessionid來識別使用者,甚至儲存其它更多的客戶資訊。假如客戶端瀏覽器禁用了cookie,將會導致很多基於cookie的功能出現異常,甚至無法使用,作為開發者,我們怎麼來解決這種問題呢?

筆者碰到的問題是在在通過session實現登陸保持的情況下,如何讓超時時間內的請求都可以識別到該使用者。如果cookie在可用的情況下很好實現,會自動通過名為jsessionid的cookie來記錄sessionid;如果cookie不可用呢?筆者採用的方法是在登陸成功後將sessionid返回給前端,然後前端通過其它可用的資料持久化技術,將該sessionid儲存在客戶端硬碟中(比如使用loalstorage);然後在後面的ajax請求中,通過判斷瀏覽器是否禁用cookie來判斷是否需要將";jsessionid=***"加入到請求的url末尾。

服務端部分**:

// 將sessonid返回給前端

retmap.

put(

"sessionid"

, session.

getid()

);retmap.

put(

"state",0

);retmap.

put(

"person"

, personinfo)

;retmap.

put(

"message"

,"賬號/密碼登陸成功"

);

前端部分**:

$.

ajax(,

datatype:

'json'

, url :

getcookieurl_2

("../../slogindemo/login.do"),

success:

function

(res)

else},

error:

function

(err)})

/** * 判斷瀏覽器是否支援localstorage

* */

function

supports_html5_storage()

catch(e

)}/** * 通過判斷客戶端瀏覽器是否支援cookie來判斷是否將jsessionid加入到url後

* */

function

getcookieurl_2

(url)

return url;

}

以上方法看似解決了禁用cookie產生的問題,可是筆者在實際測試過程中發現localstorage同樣有可能被禁用。比如筆者在使用chrome測試的時候,如果禁用了cookie,localstorage會同時被禁用。在這種情況下筆者以上列出的**也無法實現通過session來識別使用者。

總之,如果想使用session,客戶端瀏覽器必須通過資料持久化技術來儲存sessionid,無論是cookie還是localstorage,都是一種資料持久化的技術手段,如果大家知道有其它手段都可以使用,前提是瀏覽器支援該技術而且沒有禁用該技術。

登錄檔被禁用了怎麼辦?

1.新建乙個記事本 在記事本中輸入以下 regedit或regedit4 hkey users default software microsoft windows currentversion policies system disableregistrytools dword 00000000 ...

啟用了巨集仍然被禁用怎麼辦

解決方法 1 點選 選項 按鈕,勾選 啟用此內容 即可。2 點選 office excel選項 按鈕,在新視窗勾選 在功能區顯示 開發工具 選項卡 開啟頁面頂部的 開發工具 巨集安全性 勾選 啟用所有巨集 點選 確定 即可。本教程操作環境 windows7系統 microsoft office ex...

瀏覽器主頁被360篡改怎麼辦

1.為什麼瀏覽器主頁會被360篡改?1 被惡意軟體篡改 2 安裝了360旗下的軟體,會預設將瀏覽器主頁篡改 2.安裝了魯大師後篡改的瀏覽器主頁如何修改回來?1 開啟魯大師 2 右上角 設定中心 記憶體優化 關閉主頁防護功能 3 小鳥桌布同理,也有乙個主頁防護功能,將其關閉 3.360旗下有哪些軟體?...