Tamat Tempoh Sesi PHP Selepas 30 Minit
Soalan:
Bagaimana saya boleh membuat sesi PHP yang akan tamat tempoh selepas 30 minit?
Jawapan:
Kaedah: Laksanakan Tamat Masa Sesi Tersuai
kaedah tamat masa sesi terbina dalam PHP, seperti session.gc_maxlifetime dan session.cookie_lifetime, tidak boleh dipercayai kerana pelbagai faktor. Sebaliknya, laksanakan tamat masa anda sendiri menggunakan:
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { session_unset(); session_destroy(); } $_SESSION['LAST_ACTIVITY'] = time();
Kod ini mengemas kini cap masa sesi pada setiap permintaan, memastikan fail sesi aktif dan menghalang pemadaman pramatang oleh pengumpul sampah.
Keselamatan Tambahan:
Untuk melindungi daripada rampasan sesi, jana semula ID sesi secara berkala:
if (!isset($_SESSION['CREATED'])) { $_SESSION['CREATED'] = time(); } else if (time() - $_SESSION['CREATED'] > 1800) { session_regenerate_id(true); $_SESSION['CREATED'] = time(); }
Nota:
Atas ialah kandungan terperinci Bagaimana Membuat Sesi PHP Tamat Tempoh Selepas 30 Minit Tidak Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!