java裡面的session安全嗎?

時間 2021-06-06 00:26:02

1樓:

沒有任何手段是絕對安全的,這個是前提。

session是存在伺服器上面的,但是sessionId是存在cookies(本地)的。所以可能會被劫持。

2樓:

先說結論:沒有絕對的安全,個人認為在沒有https以及xss防禦的情況下,sessionId認證的安全性並不高。

理論上,只要你的業務邏輯是通過session識別登入狀態,並且登入後可以查詢到這些資訊,那麼如你所想,sessionId洩露後,這些資訊也就鐵定洩露了。這是邏輯上的判斷。

sessionId洩露的途徑有:資料報被攔截,xss攻擊。(不考慮從伺服器或者其它非技術手段盜取sessionid的情況)

防護措施可以從這幾點考慮:

1.通過HTTPS保護http報文不被洩密,從而保護sessionId不被洩露。這是針對傳輸上的防護。

2.防止xss攻擊通過注入指令碼盜取sessionId。

3.不依賴sessionId做登入認證,改用id加簽名,做正向校驗,需要注意防止重放攻擊。這是針對認證方式的防護。

js端考慮通過閉包特性保護認證的金鑰,閉包內變數在js中無法被獲取。這點是防止xss發生時,注入的指令碼獲取到你的認證資訊。

4.通過使用登入密碼(或者密碼的摘要)作為對稱加密的金鑰,加解密請求/響應的內容。由於伺服器一般也持有這個密碼,因此伺服器只需要知道你的user id,就能做加解密,不需要傳輸金鑰,也就難出現金鑰洩密的情況。

同第三點,需要保護好這個密碼不被注入指令碼盜取。這個方案類似第3個建議,區別是乙個針對認證,乙個針對訊息加密。值得注意的是,加解密策略需要慎重選擇,避免被破譯(過短的金鑰容易導致這種問題)。

上述3 4 點建議均涉及js變數儲存關鍵資訊,只適合單頁應用。瀏覽器也有本地儲存方案,但是本人沒有具體調研過,不確定其安全性,如果足夠安全,可以利用瀏覽器本地儲存方案避開只適用單頁應用的缺陷。

菜逼一枚,答案如有錯漏,請斧正。

如果讓李幼斌去演魔獸世界裡面的瓦里安,會是什麼樣子的?

看到有李雲龍版的,我編幾句朱開山版的。軟泥怪不能頂起被單來,魚人也不能穿著我的鞋跑。男人這輩子要是讓個娘們栓住了就像掉進了幽暗城的下水道裡想爬出來就難了。聯盟的秘密就不是秘密。咱烏瑞恩家的臉面全讓安度因當紙擦屁股去了,還丟到茅坑裡,丟了我們還得撿回來,洗洗乾淨,再曬他幾個夏天凍他幾個冬天,拿回去一聞...

i want to walk 裡面的 to walk是名詞還是副詞修飾want?

凱恩德 你好。to walk 既不是名詞,也不是副詞哈。它是不定式做 want 想要 的賓語,即,不定式做賓語,這是乙個語法點。如何知道它是 want 的賓語呢?咱就對謂語want 想要 發問吧 want 什麼?這個 什麼 就是賓語,所以,to walk 就是賓語啦。再看哈 He hopes to ...

Person of Interest裡面的root為什麼這麼愛shaw?

沈杕 肖像機械人,根妹是不是因為這個喜歡她?B站補劇時的彈幕 第三季,具體哪一集我忘了,營救乙個綠卡俄羅斯小蘿莉,幻想自己是國際間諜的。和肖一起逃跑的時候小心的戳了肖一下,以為肖是機械人。不過讓我來說的話,根對肖,算不上愛?其實我比起根肖更喜歡根機感覺她們互動好甜哦,咳。如果要說愛的話,應該是根對機...