php : 可用什麼方法做下次自動登入

來源:互聯網
上載者:User
剛剛入行4個月,一直在寫PHPCMS的模組,屬於代碼層級的,學到最多的是代碼的最佳化;

偶爾看到同事寫的登入下有個複選框,選擇下次自動登入;

我想問問大神們是怎麼做的。哪種方法比較流行。

回複內容:

剛剛入行4個月,一直在寫PHPCMS的模組,屬於代碼層級的,學到最多的是代碼的最佳化;

偶爾看到同事寫的登入下有個複選框,選擇下次自動登入;

我想問問大神們是怎麼做的。哪種方法比較流行。

一般是通過設定cookie到期時間來實現的.預設cookie是工作階段狀態,也就是關閉瀏覽器後,這個cookie就會自動被刪除.如果你要實現"記住登入"操作,其實就是把cookie的到期時間延長,比如1年.這樣瀏覽器重啟後再次開啟你的網站時,瀏覽器會把這個沒有到期的cookie發給伺服器的PHP,程式根據這個cookie就能識別你是哪一個使用者,因為用於認證的cookie裡一般都儲存了使用者的ID和包含密碼的雜湊.
比如資料庫中存放的使用者密碼:
$salt = sha1(uniqid(mt_rand(), true)); //用來雜湊的鹽
$pwd_db = sha1($salt.sha1($pwd_user)); //$pwd_db是資料庫儲存的使用者密碼
cookie裡的使用者密碼:
$pwd_cookie = sha1($global_salt.sha1($pwd_db));
驗證使用者cookie時就是根據cookie裡的使用者id查出$pwd_db,然後經過sha1($global_salt.sha1($pwd_db))操作後跟cookie的密碼雜湊對比,一致則是合法的cookie.

別說我回答的不是你想要的.
別說我的回答是無意義的
關閉我的回答也無所謂
好吧 我給你的答案是
http://lmgtfy.com/?q=%E4%B8%8B%E6%AC%A1%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95
如果不行, 就這個
http://lmbtfy.retaker.me/?q=%E4%B8%8B%E6%AC%A1%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95
這才是你應該去的地方.
最後, 請看看這裡
http://coolshell.cn/articles/3713.html

最簡單的做法就是直接留一個cookie,把使用者名稱放裡頭,看見使用者名稱就允許存取。不過這樣不安全,於是你需要在伺服器端留一個token,如果token對上了就允許存取。但你其實不想知道那麼多細節,於是你選了一套成熟可靠的openid方案,然後拋棄這個問題去研究真正需要你操心的商務邏輯。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.