我在數據庫表設計,存儲一些散列字符串作爲客戶機將用戶會話令牌存儲在localStorage中是否存在安全風險?
localStorage['tokens'] = [username, string1, string2, .... ]
的「令牌」的認證系統,並與相關聯排這些令牌
____________________________________
| Table: current_user_sessions |
------------------------------------
| username | token1 | token2 | ... |
使任何時候用戶嘗試完成某個操作時,客戶端機器都會查詢數據庫,詢問包含匹配令牌和用戶名的行,以驗證用戶是否登錄了有效會話。
我將這些標記作爲變量發送到php頁面,該頁面檢查以確保會話有效。
$tokens = $_GET['tokens']
$session_is_valid = query_that_checks_db_for_tokens($tokens)
return $session_is_valid
是否有可能有人通過XSS攻擊可以訪問其他用戶的localStorage的,這是保持用戶會話安全不安全呢?
如果它不適合cookie,該怎麼辦?除了db,你別無選擇,並確保你的輸入是安全的,正如我在我的回答中提到的那樣。 – jayadev
@jayadev如果它不適合cookie,它會變得不安全。 OP在詢問本地存儲是否安全。答案是不。對於存儲更多**安全**數據客戶端方面而言,通常沒有一個好的參數可以存放在cookie中。 – Aurand