Pengenalan
Melaksanakan ciri "ingat saya" membenarkan pengguna untuk kekal log masuk walaupun selepas menutup pelayar mereka. Ciri ini meningkatkan kemudahan pengguna dan menambah baik keseluruhan pengalaman pengguna. Dalam artikel ini, kami akan menyelidiki cara selamat untuk menyimpan dan mengesahkan kuki dalam penyemak imbas pengguna untuk mekanisme log masuk yang berterusan.
Menyimpan Kuki dengan Selamat
Untuk selamat simpan kuki, kami menggunakan jadual berasingan dalam pangkalan data:
CREATE TABLE `auth_tokens` ( `id` integer(11) not null UNSIGNED AUTO_INCREMENT, `selector` char(12), `token` char(64), `userid` integer(11) not null UNSIGNED, `expires` datetime, PRIMARY KEY (`id`) );
Proses Selepas Log Dalam
Setelah log masuk berjaya dengan pilihan "ingat saya" didayakan:
Tetapkan kuki dengan nilai berikut:
'remember': $selector.':'.base64_encode($authenticator)
Pengesahan Semula pada Halaman Muatkan
Untuk mengesahkan semula pengguna:
if (empty($_SESSION['userid']) && !empty($_COOKIE['remember'])) { list($selector, $authenticator) = explode(':', $_COOKIE['remember']); $row = $database->selectRow( "SELECT * FROM auth_tokens WHERE selector = ?", [ $selector ] ); if (hash_equals($row['token'], hash('sha256', base64_decode($authenticator)))) { $_SESSION['userid'] = $row['userid']; // Regenerate login token and update database } }
Butiran Pendekatan
Atas ialah kandungan terperinci Bagaimanakah saya boleh melaksanakan ciri 'Ingat Saya' yang selamat menggunakan PHP dan kuki?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!