在互動式網頁程式設計中,以下哪一種功能通常用來在伺服器端紀錄使用者的登入與登出狀態:
(A)applet
(B)cake
(C)cookie
(D)session

答案:登入後查看
統計: A(5), B(1), C(74), D(89), E(0) #92215

詳解 (共 2 筆)

#2699993
Session 之所以會存在,是因為 H...
(共 476 字,隱藏中)
前往觀看
1
11
#3880864

Session

Session 負責紀錄在 web server 上的使用者訊息。Session 機制會在一個用戶完成身分認證後,存下所需的用戶資料,接著產生一組對應的 id,存入 cookie 後傳回用戶端。

這個 id 要是獨特的,所以會使用 uuid 的機制,重複的機率非常非常低。

因此當下次用戶端發送請求時,如果帶有該 id 資訊,web server 就會認為該請求是來自該名使用者,達到驗證用戶的目的。這個時候防偽的機制就相當重要,如果伺服器端的實作有問題,再加上用戶端竄改 cookie,就有可能被偽造身分。

假設這個漏洞百出的情況:現在伺服器端單純由 cookie 內設定的 id 名稱來判斷用戶,也就是說,看到 cookie 內 dotcom_user=jcc,就認為目前用戶是 jcc。如果這樣,只要把 cookie 改成 dotcom_user=messi,身分馬上就變成 messi 了。如果改成 dotcom_user=admin 呢?說不定就得到了管理者權限。。。

這個時候就要靠簽章來驗證資料的真實性。

0
0