Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana Membuat Sesi PHP Tamat Tempoh Selepas 30 Minit Tidak Berfungsi?

Bagaimana Membuat Sesi PHP Tamat Tempoh Selepas 30 Minit Tidak Berfungsi?

DDD
Lepaskan: 2024-12-20 03:29:13
asal
251 orang telah melayarinya

How to Make a PHP Session Expire After 30 Minutes of Inactivity?

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();
Salin selepas log masuk

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();
}
Salin selepas log masuk

Nota:

  • Tetapkan session.gc_maxlifetime sekurang-kurangnya sama dengan tamat masa tersuai (1800 dalam contoh ini).
  • Untuk tamat tempoh sesi selepas 30 minit aktiviti, gunakan setcookie dengan masa tamat masa() 60*30.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan