這篇文章不是討論session,也不是cookie,現在很多網站都是講session放cookie中,叫做cookie based session,下面就來討論下cookie based session的優缺點:
優點:
1.減輕伺服器壓力,如PHP session預設是檔案儲存體格式的,這樣就會較少磁碟壓力,不會給磁碟造成較多的片段。
2.你在做叢集的時候,是不是要做session同步的問題,cookie based session後就免去了。
缺點:
1.同一個使用者,可能在多個地方登入,你也無從判斷誰是真實有效使用者。
2.session記錄在cookie放本地,可能被hacer擷取,通過anehta可以將cookie持久化,使登入狀態永久有效,當然你可以再記錄cookie的時候記錄時間戳記,在伺服器端驗證有效期間。
個人建議:
從安全性上來說只要處理得當,session和cookie相差無幾,另外還要考慮cookie的儲存量,一些重要訊息如使用者資訊或許可權資訊最好不要放cookie
session和cookie誰更安全
就個人而言,我覺得session更安全一點,我以下幾點看法。
1,如果session和cookie一樣安全的話,二者就沒有並要同時存在了,只要cookie就好了,讓用戶端來分提伺服器的負擔,並且對於使用者來說又是透明的。何樂而不為呢。
2,session的sessionID是放在cookie裡,要想功破session的話,第一要功破cookie。功破cookie後,你要得到 sessionID,sessionID是要有人登入,或者啟動session_start才會有,你不知道什麼時候會有人登入。第二,sessionID是加密的,第二次session_start的時候,前一次的sessionID就沒有用了,session到期時sessionid也會失效,想在短時間內功破加了密的 sessionID很難。session是針對某一次通訊而言,會話結束session也就隨著消失了,而真正的cookie存在於用戶端硬碟上的一個文字檔,誰安全很顯然了。