Memastikan Penamatan Sesi Lengkap semasa Log Keluar
Untuk menamatkan sesi pengguna dengan berkesan, walaupun penyemak imbas tetap terbuka, adalah penting untuk bukan sahaja musnahkan sesi tetapi juga keluarkan semua kesannya. Ini termasuk kedua-dua data sesi dan ID sesi.
Pemusnahan Sesi Tidak Lengkap
Coretan kod PHP yang disediakan memulakan sesi, kemudian cuba memusnahkannya menggunakan gabungan unset(), session_unset(), dan session_destroy(). Walau bagaimanapun, pendekatan ini tidak mencukupi.
Pelaksanaan Betul
Menurut manual PHP, untuk menamatkan sesi sepenuhnya, ID sesi juga mesti dinyahtetapkan. Jika sesi disebarkan melalui kuki (iaitu kuki lalai), kuki ini mesti dipadamkan.
Kod berikut, disesuaikan daripada manual PHP, menunjukkan cara yang betul untuk menamatkan sesi:
<code class="php">// Start the session session_start(); // Unset all session variables $_SESSION = array(); // Delete the session cookie 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 melaksanakan pendekatan ini, anda memastikan sesi pengguna ditamatkan sepenuhnya, walaupun mereka memastikan penyemak imbas tetap terbuka, menghalang sebarang akses yang tidak diingini kepada data sesi.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Penamatan Sesi Lengkap semasa Log Keluar dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!