Sesi PHP: Bagaimana jika saya menetapkan masa berakhir sesi menjadi 10 hari?

Saya ingin pengguna aplikasi saya tetap masuk untuk jangka waktu yang sangat lama. Masalahnya adalah sesi berakhir di sisi server, sehingga kehilangan variabel yang disimpan dalam sesi tersebut. Jadi, saya mengatur sesi tersebut agar berakhir dalam 10 hari.

Pertanyaan saya adalah: Apakah ada masalah keamanan atau kinerja saat menyetel masa berlaku GC dan masa pakai cookie menjadi 10 hari?

ini_set('session.cookie_lifetime', 864000);
ini_set('session.gc_maxlifetime', 864000);

person Amer    schedule 17.10.2009    source sumber


Jawaban (2)


Tentu saja, semakin lama waktu tunggu sesi, semakin besar risiko pembajakan cookie/sesi, tetapi kecuali jika Anda berurusan dengan informasi yang sangat sensitif (catatan kesehatan, perbankan online, dll), saya cenderung melakukan hal yang sama. Sebenarnya saya punya.

person cletus    schedule 17.10.2009
comment
Terima kasih. Pemikiran saya adalah: Ini harus lebih baik daripada menyimpannya di DB dan mengambilnya setiap kali sesi berakhir. Bersulang! - person Amer; 17.10.2009

Anda akan meningkatkan risiko pembajakan sesi.

Saya akan menelepon session_regenerate() secara berkala. Hal ini akan mengurangi risiko bagi pengguna yang benar-benar login, namun tidak melakukan apa pun bagi pengguna yang tidak login.

person Daren Schwenke    schedule 17.10.2009
comment
Satu-satunya cara lain yang terlintas dalam pikiran saya untuk menjaga pengguna tetap login adalah cookie 'ingat saya', tetapi setelah dipikir-pikir, itu juga akan rentan terhadap pembajakan sesi. Aplikasi yang saya buat tidak menangani informasi sensitif apa pun, jadi, pembajakan sesi tidak mungkin terjadi. Oh, dan saya sudah menggunakan session_regenerate(), hanya saja saya ingin pengguna tetap masuk meskipun dia tidak melakukan tindakan atau meninggalkan situs sepanjang hari. Terima kasih :) - person Amer; 17.10.2009