php cookie有關問題?
最後更新:2016-06-13
來源:互聯網
上載者:User
php cookie問題???
看到網站有類似於這樣的自動登入功能,我也想實現,在網上搜了一下cookie,也基本瞭解了,但有幾個方面還是不明白,麻煩各位大牛能指點一二,小弟先在此謝過了;
1:我網站有個session,裡面儲存的是使用者id,本來想做個隱藏表單,在使用者登入時就將此id和使用者名稱,密碼三個資訊都提交過去,然後判斷是否有cookie,沒有就寫入,但後來想想,如果只有使用者名稱和密碼,不是照樣可以查詢出來id嘛,那我還有沒有必要多弄個這個呢???
2:我看了一下人家網站的cookie,裡面貌似用到了加密,看不懂,於是我就糾結了。比如說用md5()加密的話,密碼資料庫本來就是md5()的,那使用者名稱呢??怎麼校正是否正確啊??md5()貌似不能逆向解密的吧???
3:儲存使用者名稱和密碼一般是用兩個cookie嗎??是儲存在一個檔案中的嗎??
請各位說詳細點,小弟在這方面是個小白,最好是說一下你們平常寫類似於這樣“自動登入”的流程,好讓小弟有個思路,再次謝謝了
------解決方案--------------------
所謂“自動登入”就是已登入
過 就不要再登入
這是在 cookie 中儲存有曆史登入資訊,cookie有一個失效期,凡是沒有超過時效期的內容都將隨http請求一起傳遞到web伺服器
如果網站允許“自動登入”,那麼就是先判斷$_COOKIE中是否存在該資訊
一個網站只會在瀏覽器中產生一個cookie,是否保留要看失效期
cookie總是以明文方式(雖然可能是所謂的“密文”)在網路中傳遞
存放在互連網中的內容就是給人看的,如果你不想給人看,就不要放到網站中
------解決方案--------------------
自動登入作法很多,安全效能夠保障的情況下,效能也沒有問題就可以了。
1,普通SESSION機制,只不過設定了SESSION儲存期更長,設定SESSION COOKIE的生命期更長。
2,自訂不可以逆的COOKIE,其實就是做簽名,服務端做好相關記錄即可,資料庫 or 檔案?隨意。服務端應當做好程式邏輯,首次檢測自動登入COOKIE後便應該以生命期較短的SESSION取代它,方便使用。