Golang Cookie保持會話狀態的實現

2021-10-04 18:31:56 字數 1967 閱讀 6194

在選擇session和cookie時,考慮session位於伺服器端,而cookie位於使用者瀏覽器端,session的安全性更高。現在更多時候,寫**後台選擇用session來保持會話狀態。使用session時,我自己封裝過一次session包,寫的過程比較複雜,花了幾天時間,而github.com/gin-contrib/sessions這個包可以直接呼叫即可(自己封裝session包是一次對原理的深入理解,但在做專案時其實不用花時間去封裝…)

關於session包我寫的一點點使用說明:github.com/gin-contrib/sessions

而cookie用起來就很簡單了,這篇講cookie最常用的運用,包直接引入的是net/http,也就是說不需要再多引入其他包來完成了。

vscode、chrome、postman(非常推薦的請求除錯工具)

設定cookie

跨路由獲取cookie

在另乙個路由下獲取生成的cookie值

func

getcookiehandler

(c *gin.context)

/login中寫cookie,將生成的cookie儲存到瀏覽器端,保持會話狀態,方便後續獲取cookie引數

)然後登入乙個使用者名稱試試

獲取cookie的方法和前面測試中的方法一致…就不再闡述了

" 對於開發者,cookie的是web開發里程上的一大發明,cookie是小甜點,絕不是惡魔。但是,如果使用不當,小甜點發霉了一樣會有毒。"

但是我們發現cookie設定為我們真實的id,未加密cookie讓安全問題難以得到保障,所以要對cookie進行加密儲存,這個環節也非常關鍵,github.com/gorilla/securecookie包可以提供乙個hashkey

var hashkey =

byte

("very-secret"

)var s = securecookie.

new(hashkey,

nil)

encoded,

_:=s.

encode

("test_cookie"

,"test_cookie"

)

保持linux下保持ssh不斷線

使用ssh連線遠端伺服器的時候,在網路質量不太好的情況下,如果長時間沒有鍵盤輸入,ssh連線有可能中斷。正在執行的程式和vim等緩衝區資料都會丟失。在windows下使用securecrt可以設定session的noop屬性來保持連線。在linux下要保持連線,可以使用 o的乙個引數serveral...

取樣保持電路

取樣保持電路 取樣 保持器 又稱為取樣保持放大器。當對模擬訊號進行a d轉換時,需要一定的轉換時間,在這個轉換時間內,模擬訊號要保持基本不變,這樣才能保證轉換精度。取樣保持電路即為實現這種功能的電路 一 基本原理 在輸入邏輯電平控制下出於 取樣 或 保持 兩種工作狀態。取樣 狀態下電路的輸出跟蹤輸入...

保持ssh連線

終端軟體 better terminal emulator pro用手機ssh到伺服器上,但是如果隔1 2分鐘沒 的clientaliveinterval 60 clientalivecountmax 1 這 樣,ssh server 每 60 秒就會自動傳送乙個訊號給 client,而等待 cli...