Dengan perkembangan teknologi Internet yang berterusan, semakin banyak laman web memerlukan pengguna log masuk untuk menggunakan fungsi mereka. Walau bagaimanapun, jelas menyusahkan pengguna untuk memasukkan akaun dan kata laluan mereka setiap kali mereka melawat, jadi fungsi "ingat saya" wujud. Artikel ini akan memperkenalkan cara menggunakan teknologi Kuki untuk melaksanakan fungsi ingat saya dalam ThinkPHP6.
1. Pengenalan kepada Kuki
Kuki ialah fail kecil yang dihantar oleh pelayan kepada klien, yang disimpan pada komputer pengguna apabila pengguna melawat tapak web. Fail ini mengandungi maklumat berkaitan pengguna seperti nama log masuk, item dalam troli beli-belah, dsb. Apabila pengguna melawat tapak web sekali lagi, penyemak imbas secara automatik akan menghantar semula fail ini ke pelayan. Ini membolehkan pengguna melawati semula tapak web tanpa memasukkan kelayakan log masuk mereka.
2. Prinsip Pelaksanaan
Prinsip melaksanakan fungsi ingat saya adalah sangat mudah. Apabila pengguna berjaya log masuk dan menyemak pilihan "Ingat Saya", pelayan akan menjana pengecam unik untuk pengguna dan menyimpannya dalam kuki. Setiap kali pengguna melawat tapak web, pelayan membaca pengecam ini daripada kuki dan mengesahkan pengguna berdasarkan pengecam ini.
3. Langkah pelaksanaan
<div class="form-group"> <label for="remember"> <input type="checkbox" id="remember" name="remember" /> 记住我 </label> </div>
public function login(Request $request) { $username = $request->post('username'); $password = $request->post('password'); $remember = $request->post('remember'); // 进行用户名和密码的验证 if ($remember) { // 创建一个Cookie,有效期为7天 cookie('remember', $username . '|' . md5($password . config('app.key')), 60 * 60 * 24 * 7); } // 其他登录逻辑 }
public function handle(Request $request, Closure $next) { $remember = cookie('remember'); if ($remember && !session('user')) { list($username, $token) = explode('|', $remember); // 基于$token校验用户名和密码,如果有效则自动登录 $user = User::where('username', $username)->where('password', md5($token . config('app.key')))->find(); if ($user) { session('user', $user); } } return $next($request); }
Dalam middleware ini, kami mula-mula menyemak sama ada terdapat kuki "Ingat Saya" , jika ada, mendapat cincang nama pengguna dan kata laluan, dan mengesahkan terhadap cincang ini dan kunci dalam fail konfigurasi. Jika pengesahan berjaya, maklumat pengguna akan ditulis secara automatik kepada Sesi untuk melengkapkan log masuk automatik.
4. Langkah berjaga-jaga
Apabila menggunakan kuki untuk melaksanakan fungsi "Ingat Saya", anda perlu memberi perhatian kepada perkara berikut:
5. Ringkasan
Fungsi "Ingat Saya" adalah fungsi yang sangat praktikal dan digunakan dalam lebih banyak laman web. Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan teknologi Cookie untuk melaksanakan fungsi "Remember Me" dalam ThinkPHP6. Kaedah pelaksanaan ini mudah dan mudah difahami, tetapi memerlukan perhatian kepada keselamatan dan perlindungan privasi. Diharapkan para pembaca dapat mengaplikasikan fungsi ini secara fleksibel berdasarkan keperluan sebenar.
Atas ialah kandungan terperinci Cara menggunakan teknologi Cookie untuk melaksanakan fungsi Remember Me dalam ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!