มันมีวิธีไหนบ้าง ที่สามารถเขียน mod rewrite ตั้งเวลา session timeout (เวลาที่จะ destroy session) ได้เอง
รบกวนผู้รู้หน่อยนะครับ :baa60776:
เข้าใจว่าน่าจะไปแก้ไขค่า KeepAliveTimeout ในไฟล์ apache2.conf นะครับ
ไม่มีวิธีเซ็ตจากไฟล์ php หรือ .htaccess หรืออะไรที่มันไม่ต้องแก้ในตัว server เลยเหรอครับ :189bbdde:
แก้ไข php code ได้นะครับ
โอ ขอบคุณมากเลยครับ
สรุปได้ว่าใช้
session_cache_expire(new_cache_expire)
session_start();
แค่นี้เอง
กด Thanks ให้คนตอบหรือยังครับ :70bff581:
เข้าใจว่าบัค (หรือเปล่า) ทำไมผมหาปุ่ม Thanks ไม่เจอ :189bbdde:
ลืมไปครับ ต้อง 10 post ก่อนถึง Thanks ได้ กันคนสมัครมากดอย่างเดียว
ตายละ ลืมอ่าน :875328cc:
session timeout กับ keealive timeout คนละเรื่องกันเลยนะครับ
อ่าฮะครับ ผมไม่ค่อยเข้าคำถามหน่ะครับ
ต้องขออภัยที่คำตอบอาจทำให้หลายคนเข้าใจผิด:075:
ลองใช้งานจริง
header('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
header('Content-Type: text/html; charset=utf-8');
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
error_reporting(0);
ini_set('session.gc_maxlifetime',600);
session_cache_expire(10);
session_start();
แล้ว login form นี้ค้างไว้เกิน 10 นาทีค่อยทำรายการต่อก็ยังทำได้ ค่า session ก็ยังตัวเดิม ผมเข้าใจอะไรผิดไปรึเปล่าหว่า :189bbdde:
คืดว่าน่าจะเป็นเพราะไม่ได้เซ็ทลงคุ๊กกีนะครับ ผมไม่แน่ใจนะครับ ลองเปลี่ยนไปเซ็ท .htaccess ดูป่าวครับวิธีตามลิ้งเลยครับ http://stackoverflow.com/questions/5206061/session-timeout-in-php-code-and-in-htaccess
ทำตามนี้ได้ผลแล้วครับ
แต่ก็ยังมีวิธีตุกติกจนได้ ( ใช้ add-ons cookie manager ปลอมวันหมดอายุของ session ได้ และถ้า sniff session ของชาวบ้านมาปลอมหละก็ … :189bbdde: )
เก็บ session กับ เวลา ลง database
และตรวจสอบควบคุมการหมดอายุด้วย code php
โอ ทำได้แล้วครับ
ส่วนอันนี้ทำยังไงเหรอครับ
แล้วก็ จากที่ลองเปลี่ยน session path ออกมาเช็คดู ถ้าไม่สั่ง session_destroy() , session_unset() ไฟล์ session ที่เก็บอยู่บนตัว server จะยังอยู่ไปอีกนานเลยต่อให้มันหมดเวลาแล้วก็ตาม :189bbdde:
ขอดันหน่อยนะครับ ไม่มีใครรู้วิธีกำจัดไฟล์ session ในทันทีเลยเหรอครับ :baa60776: