2012-07-23 23 views
4

我對使用會話進行計劃有點困惑。未登錄的用戶訪問我的網站並上傳文件。此用戶在會話期間控制文件的所有權(使用session_id()設置)。但是,要識別用戶是否有控制權,會話ID將插入數據庫中,以便與該用戶標識進行驗證。這是好的做法嗎?會話ID有多獨特?PHP - 用於臨時控制的會話使用

+2

不知道你甚至需要在數據庫中存儲任何東西,只需將文件名放在會話中即可。 – 2012-07-23 23:06:57

回答

1

會話ID保證在當前使用的ID空間中是唯一的。基本上,所有當前會話都有一個唯一的ID。

這確實意味着你不能僅僅依靠會話ID進行會話(當你這樣說時顯得很明顯)。我建議做一些哈希當前時間,並使用該文件具有唯一的ID。

0

我會創建一個不同的唯一ID,將它存儲在會話和數據庫中。爲了安全起見,一些框架和庫爲每個請求重新生成會話id,所以假設它們在用戶會話期間永遠不會改變是不好的。使用會話ID唯一確定的是它將確定是唯一的。