我有一個快速的search,似乎所有相關的問題都不完全符合我的觀點,或者太具體而無法幫助我。
我的首要考慮是表現。我的理解是,默認情況下,在$_SESSION
之內存儲信息意味着服務器將文件寫入磁盤。對於小型LAMP服務器或基本小型託管網站,在數據庫成爲更有效的選項之前,您的變量需要多大才能獲得。 $_SESSION
中的10,100,1000,10000陣列成員是否會開始考慮使用數據庫?還是交通更多的考慮?
第二個考慮因素是安全性。在其他一些答案中,我看到類似這樣的語句「永遠不會在xxx變量$_SESSION
變量」中存儲。將信息存儲在數據庫中實際上比$_SESSION
更安全,或者可以將$_SESSION
與數據庫一樣安全,因爲服務器設置正確?
我的感覺是,很多在野外開發的網站都會先從$_SESSION
開始,而不一定會重構使用數據庫。如果您可以將文件中的$_SESSION
變量重定向到數據庫,那麼它總是總是更好使用$_SESSION
並且稍後指出在數據庫中如果性能是一個問題?
是否有任何其他的考慮,使這種設計選擇?
下面是一張白紙,可能提供一些線索:http://www.acros.si/papers/session_fixation。 pdf – 2013-03-12 11:53:50
另外,看看:http://www.php.net/manual/en/session.security.php – 2013-03-12 11:54:35
你知道,沒有這樣的媒體稱爲'數據庫'。數據庫服務器是一個軟件守護進程使用完全相同的磁盤來存儲數據。數據庫表是物理上僅僅是一個磁盤文件 – 2013-03-12 12:03:23