ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

ฟังก์ชั่น session_regenerate_id()

 

ความหมายของฟังก์ชั่นและการใช้งาน

การสร้าง session id ( SID ) ขึ้นใหม่ ด้วยฟังก์ชั่น session_regenerate_id()

 

รูปแบบการเขียน (Syntax)

bool session_regenerate_id ([ bool $delete_old_session = false ] )

 

ตัวอย่างที่ 1

<?php
// NOTE: This code is not fully working code, but an example!

session_start();

// Check destroyed time-stamp
if (isset($_SESSION['destroyed'])
    && $_SESSION['destroyed'] < time() - 300) {
    // Should not happen usually. This could be attack or due to unstable network.
    // Remove all authentication status of this users session.
    remove_all_authentication_flag_from_active_sessions($_SESSION['userid']);
    throw(new DestroyedSessionAccessException);
}

$old_sessionid = session_id();

// Set destroyed timestamp
$_SESSION['destroyed'] = time(); // Since PHP 7.0.0 and up, session_regenerate_id() saves old session data

// Simply calling session_regenerate_id() may result in lost session, etc.
// See next example.
session_regenerate_id();

// New session does not need destroyed timestamp
unset($_SESSION['destroyed']);

$new_sessionid = session_id();

echo "Old Session: $old_sessionid<br />";
echo "New Session: $new_sessionid<br />";

print_r($_SESSION);
?>

ตัวอย่างที่ 2

<?php
// NOTE: This code is not fully working code, but an example!
// my_session_start() and my_session_regenerate_id() avoid lost sessions by
// unstable network. In addition, this code may prevent exploiting stolen
// session by attackers.

function my_session_start() {
    session_start();
    if (isset($_SESSION['destroyed'])) {
       if ($_SESSION['destroyed'] < time()-300) {
           // Should not happen usually. This could be attack or due to unstable network.
           // Remove all authentication status of this users session.
           remove_all_authentication_flag_from_active_sessions($_SESSION['userid']);
           throw(new DestroyedSessionAccessException);
       }
       if (isset($_SESSION['new_session_id'])) {
           // Not fully expired yet. Could be lost cookie by unstable network.
           // Try again to set proper session ID cookie.
           // NOTE: Do not try to set session ID again if you would like to remove
           // authentication flag.
           session_commit();
           session_id($_SESSION['new_session_id']);
           // New session ID should exist
           session_start();
           return;
       }
   }
}

function my_session_regenerate_id() {
    // New session ID is required to set proper session ID
    // when session ID is not set due to unstable network.
    $new_session_id = session_create_id();
    $_SESSION['new_session_id'] = $new_session_id;
    
    // Set destroy timestamp
    $_SESSION['destroyed'] = time();
    
    // Write and close current session;
    session_commit();

    // Start session with new session ID
    session_id($new_session_id);
    ini_set('session.use_strict_mode', 0);
    session_start();
    ini_set('session.use_strict_mode', 1);
    
    // New session does not need them
    unset($_SESSION['destroyed']);
    unset($_SESSION['new_session_id']);
}
?>

 

 

<< PHP Functions 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 6 มิถุนายน 2563
โดย bolue ส 06 มิ.ย. 2020 9:57 am บอร์ด M104 - สุภาภรณ์ อินกรรไกร
6
20
ส 06 มิ.ย. 2020 6:11 pm โดย bolue
ส่วนสำคัญของใบกำกับภาษี
โดย natthanit.r2538 ส 06 มิ.ย. 2020 5:56 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
4
ส 06 มิ.ย. 2020 5:56 pm โดย natthanit.r2538
วิธีการ ไล่สีพื้นหลัง โดย css
โดย bolue ส 06 มิ.ย. 2020 5:03 pm บอร์ด CSS Knowledge
0
5
ส 06 มิ.ย. 2020 5:03 pm โดย bolue
วิธีการสร้าง nav-tabs โดย bootstrap
โดย bolue ส 06 มิ.ย. 2020 4:52 pm บอร์ด Booststap Knowledge
0
12
ส 06 มิ.ย. 2020 4:52 pm โดย bolue
วิธีกดภาพ เล็กด้านข้าง แล้วโชว์ภาพใหญ่ ในพื้นที่ดำๆ โดยใช้ javascript
โดย bolue ส 06 มิ.ย. 2020 4:24 pm บอร์ด Jquery & Ajax Knowledge
0
19
ส 06 มิ.ย. 2020 4:24 pm โดย bolue
B- แจ้งปัญหาจากการใช้ระบบเช่าสถานที่ ออกรายงานข้อมูลลูกค้าค้างชำระรวม(แยกตามลูกค้า) ไม่ได้
โดย natthanit.r2538 ส 06 มิ.ย. 2020 4:24 pm บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
1
6
ส 06 มิ.ย. 2020 4:51 pm โดย natthanit.r2538
B- แจ้งปัญหาจากการใช้ระบบเช่าสถานที่ พิมพ์ใบเสร็จไม่ได้
โดย natthanit.r2538 ส 06 มิ.ย. 2020 3:57 pm บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
0
4
ส 06 มิ.ย. 2020 3:57 pm โดย natthanit.r2538
B- แจ้งปัญหาจากการใช้ระบบเช่าสถานที่ ออกรายงานการขายแล้วไม่พบข้อมูล
โดย natthanit.r2538 ส 06 มิ.ย. 2020 3:35 pm บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
4
12
ส 06 มิ.ย. 2020 4:26 pm โดย natthanit.r2538
B - หน้า admin สร้าง User เเล้วเจอ error
โดย thatsawan ส 06 มิ.ย. 2020 3:05 pm บอร์ด มารียา ซีฟู้ดส์ - Tester
0
1
ส 06 มิ.ย. 2020 3:05 pm โดย thatsawan
G - ไกด์การสรา้ง Line@ และ Menu ใน Line
โดย thatsawan ส 06 มิ.ย. 2020 1:11 pm บอร์ด มารียา ซีฟู้ดส์ - Tester
4
9
ส 06 มิ.ย. 2020 5:54 pm โดย thatsawan
G - ไกด์การสร้าง Shop ในส่วนของ admin
โดย thatsawan ส 06 มิ.ย. 2020 1:07 pm บอร์ด มารียา ซีฟู้ดส์ - Tester
2
4
ส 06 มิ.ย. 2020 5:54 pm โดย thatsawan
แจ้งปัญหาการการสั่งพิมพ์ใบเสร็จไม่ได้
โดย natthanit.r2538 ส 06 มิ.ย. 2020 12:01 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
0
16
ส 06 มิ.ย. 2020 12:01 pm โดย natthanit.r2538
กดภาพเล็กๆ ด้านข้าง แล้วโชว์ภาพใหญ่ ในพื้นที่ดำๆ ทำยังไง
โดย bolue ส 06 มิ.ย. 2020 11:20 am บอร์ด JavaScript & Jquery Ajax
1
10
ส 06 มิ.ย. 2020 4:27 pm โดย bolue
R - งานออกแบบหน้าจอ bootstrap หน้าโปรไฟล์
โดย bolue ส 06 มิ.ย. 2020 10:21 am บอร์ด M104 - สุภาภรณ์ อินกรรไกร
6
20
ส 06 มิ.ย. 2020 3:39 pm โดย bolue
งานประจำวันที่ 6 มิถุนายน 2563
โดย natthanit.r2538 ส 06 มิ.ย. 2020 9:58 am บอร์ด M103 - ณัฐนิตย์ ร่มบ้านโหล๊ะ
4
15
ส 06 มิ.ย. 2020 7:56 pm โดย natthanit.r2538
Celeb net worth?
โดย Bailey99 ศ 05 มิ.ย. 2020 7:03 pm บอร์ด PHP Knowledge
1
16
ศ 05 มิ.ย. 2020 7:28 pm โดย rajneeskumar
วิธีการ ใช้งาน vuetify คู่กับ vue.js
โดย bolue ศ 05 มิ.ย. 2020 6:02 pm บอร์ด CSS Knowledge
0
10
ศ 05 มิ.ย. 2020 6:02 pm โดย bolue
วิธีการ ติดตั้ง vue.js สำหรับผู้เริ่มต้น หัดเขียน สอนติดตั้ง
โดย bolue ศ 05 มิ.ย. 2020 4:55 pm บอร์ด Jquery & Ajax Knowledge
0
35
ศ 05 มิ.ย. 2020 4:55 pm โดย bolue
วิธีการ ใช้ Grid ออกแบบเป็น responsive design โดย vuetify
โดย bolue ศ 05 มิ.ย. 2020 3:36 pm บอร์ด CSS Knowledge
0
16
ศ 05 มิ.ย. 2020 3:36 pm โดย bolue
วิธีการ เรียนใช้ dialog จาก components โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 1:45 pm บอร์ด Jquery & Ajax Knowledge
0
19
ศ 05 มิ.ย. 2020 1:45 pm โดย bolue