2011-04-30 109 views
0

我想答案是 - 「這取決於你的應用程序」?我應該允許多次登錄嗎?

如果我登錄了兩次,每次都呼叫session_start(),我最終得到兩個完全獨立的會話。每個登錄都有時間戳,每個登出都有時間戳(zer0的記錄時間 - 在登錄時設置 - 表示用戶仍然登錄)。

我有一個審計線索,其中每個新行添加到一個表(我從不修改,以支持審計線索)有user_id和時間戳。

問:是否有任何令人信服的理由允許或禁止多次登錄?我首先想到禁止,但現在我沒有看到有任何真正的理由這樣做 - 並允許它沒有額外的代碼。

什麼是一般的做法?

+3

這取決於你的...哦。沒關係。 – 2011-04-30 02:38:28

+0

+1爲可預測;-) – Mawg 2011-04-30 03:24:14

回答

1

如果對用戶安全沒有危險,請允許多個安全威脅,但是如果存在任何安全威脅,我只會使用一次登錄。就像在兩個不同的房子裏留下兩個登錄Facebook的配置文件一樣,但是安全嗎?

+1

爲什麼它不安全? – zerkms 2011-04-30 02:52:46

+0

我想這取決於FB如何處理同時嘗試更新相同的數據。這對我來說不是問題(+1給你們每個人) – Mawg 2011-04-30 03:27:15

1

一般的做法是隻實現你真正需要

你不能證明該功能 - YAGNI。

+0

好的,這是功能 - 多登錄或防止多登錄?目前,我不在乎,但可能會改變。允許多次登錄不需要額外的代碼,預防就行了。 – Mawg 2011-04-30 03:26:08

+1

@Mawg:那麼,爲什麼要做你不需要做的工作呢?什麼時候會改變 - 做到這一點,而不是之前。 – zerkms 2011-04-30 03:30:26

+0

+1不是說你實際上確定了它是什麼,而是可以推斷:-)所以,多個登錄是可以的,直到有人在呼喊 - 然後我編寫代碼來防止它。感謝您花時間回覆 – Mawg 2011-04-30 14:33:00