Cara Menamatkan Sesi Sepenuhnya, Walaupun dengan Penyemak Imbas Terbuka
Apabila pengguna log keluar dari tapak web tetapi membiarkan penyemak imbas mereka terbuka, adalah penting untuk memastikan sesi mereka ditamatkan sepenuhnya. Walau bagaimanapun, kaedah konvensional menggunakan session_start(), unset($_SESSION), session_unset() dan session_destroy() mungkin tidak mencukupi untuk tugasan ini.
Menurut dokumentasi PHP, untuk menamatkan sesi secara menyeluruh, ID sesi mesti juga dipadamkan. Jika kuki digunakan untuk menghantar ID sesi, kuki itu perlu dipadamkan. setcookie() boleh digunakan untuk mencapai matlamat ini.
Di bawah ialah contoh komprehensif yang dipinjam daripada manual PHP:
<code class="php"><?php // Initialize the session. // If you use session_name("something"), recall it here! session_start(); // Remove all session variables. $_SESSION = array(); // Delete the session cookie if necessary to terminate the session. // Warning: This action destroys the session, not just its data! if (ini_get("session.use_cookies")) { $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"] ); } // Finally, destroy the session. session_destroy(); ?></code>
Dengan mengikuti pendekatan yang dikemas kini ini, anda boleh menghapuskan semua kesan a sesi, memastikan maklumat sensitif pengguna dilindungi walaupun mereka memastikan penyemak imbas mereka terbuka.
Atas ialah kandungan terperinci Bagaimana Menamatkan Sepenuhnya Sesi PHP dan Data Pengguna Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!