[偷可] 網路安全-HttpSession、Cookie與JWT

作者: TKB5566 (我們的元首阿道夫希特勒)   2024-01-10 16:38:56
在Java Web專案中,若專案只有單一系統,則可以只使用HttpSession來驗證用戶。
具體的驗證方式,就是伺服器會產生一個sessionid,包裝於HttpSession這個物件內,
接著伺服器會將這個sessionid包裝在cookie中,回傳給瀏覽器。
這樣瀏覽器就有了跟伺服器那邊相同的用戶訊息,之後瀏覽器要傳送該用戶的訊息,
就將這個cookie包裝於http請求中,交由伺服器去驗證用戶訊息。
而在多系統專案中,則是使用JWT代替HttpSession。在跨系統中,
伺服器會根據傳送來的用戶訊息,造出JWT。JWT本身包含了用戶帳號(但不含用戶密碼),
JWT被伺服器傳回瀏覽器,然後
這樣這個JWT在瀏覽器中是和用戶訊息一起被包在HTTP請求,送交給伺服器。
看起來JWT跟sessionid非常類似,但是JWT與sessionid不同的地方是,JWT是有被加密的
具體加密的方式就是RSA演算法。

Links booklink

Contact Us: admin [ a t ] ucptt.com