ให้เรตสมาชิก: 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 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
SECUMAIL เทคโนโลยีป้องกันการ Hack อีเมล
โดย noppadonsk ศ 13 ธ.ค. 2019 2:32 pm บอร์ด Share Knowledge
0
1
ศ 13 ธ.ค. 2019 2:32 pm โดย noppadonsk
VDO - Introducing to Plugin Content M Change Log
โดย numtan5839 ศ 13 ธ.ค. 2019 1:33 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
6
ศ 13 ธ.ค. 2019 1:54 pm โดย mindphp
Teamviewer 15 ใช้งาน TeamViewer Pilot ได้แล้วบน PC
โดย chatee supasand ศ 13 ธ.ค. 2019 12:09 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
9
ศ 13 ธ.ค. 2019 1:38 pm โดย rihankhan
VDO โปรแกรมคำนวณภาษีมูลค่าเพิ่มหลังรวม VAT
โดย numtan5839 ศ 13 ธ.ค. 2019 10:05 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
9
ศ 13 ธ.ค. 2019 10:26 am โดย numtan5839
icon ธงภาษาไม่แสดง
โดย numtan5839 ศ 13 ธ.ค. 2019 9:48 am บอร์ด MindPHP News & Feedback
0
12
ศ 13 ธ.ค. 2019 9:48 am โดย numtan5839
งานประจำวันที่ 13 ธันวาคม 2562
โดย numtan5839 ศ 13 ธ.ค. 2019 9:27 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
6
ศ 13 ธ.ค. 2019 2:13 pm โดย mindphp
งานประจำวันที่ 13 ธันวาคม 2562
โดย noppadonsk ศ 13 ธ.ค. 2019 9:03 am บอร์ด MT36 - นายนพดล สุชญากูล
7
16
ศ 13 ธ.ค. 2019 12:04 pm โดย noppadonsk
Plugin Content MChangeLog ใน Joomla เป็นตัวช่วยให้ เพิ่มเนื้อหาที่มีการเปลี่ยนแปลงแบบ เพิ่มเนื้อหา อัพเดด fix ปัญหา
โดย prmindphp พฤ 12 ธ.ค. 2019 6:46 pm บอร์ด MindPHP News & Feedback
0
16
พฤ 12 ธ.ค. 2019 6:46 pm โดย prmindphp
วิธีการเขียน SQL สำหรับเปลี่ยน Collation เพื่อปรับเปลี่ยนการรองรับภาษา ใน ตารางฐานข้อมูล
โดย Ittichai_chupol พฤ 12 ธ.ค. 2019 4:17 pm บอร์ด SQL Knowledge
0
7
พฤ 12 ธ.ค. 2019 4:17 pm โดย Ittichai_chupol
สอบถามการใช้ Python
โดย Anonymous พฤ 12 ธ.ค. 2019 11:51 am บอร์ด Programming - PHP
0
11
พฤ 12 ธ.ค. 2019 11:51 am โดย บุคคลทั่วไป
Funny today ไปไหน???
โดย chatee supasand พฤ 12 ธ.ค. 2019 11:44 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
20
พฤ 12 ธ.ค. 2019 11:44 am โดย chatee supasand
VDO - แนะนำการใช้งาน Plugin Content M Change Log
โดย numtan5839 พฤ 12 ธ.ค. 2019 10:47 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
17
พฤ 12 ธ.ค. 2019 2:47 pm โดย numtan5839
งานประจำวันที่ 12 ธันวาคม 2562
โดย numtan5839 พฤ 12 ธ.ค. 2019 10:04 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
19
ศ 13 ธ.ค. 2019 1:57 pm โดย mindphp
วิธีการนำข้อมูลคำอธิบายภาพออก ในโพสต์ของ php
โดย Ittichai_chupol พ 11 ธ.ค. 2019 7:03 pm บอร์ด PHP Knowledge
1
28
พฤ 12 ธ.ค. 2019 10:59 am โดย Sirayu
โปรแกรมคำนวณเพซ
โดย prmindphp พ 11 ธ.ค. 2019 6:50 pm บอร์ด MindPHP News & Feedback
0
27
พ 11 ธ.ค. 2019 6:50 pm โดย prmindphp
ArrayList Java กับการหาค่าที่มากที่สุดแล้วลบออก
โดย Grammanano พ 11 ธ.ค. 2019 6:38 pm บอร์ด Share Knowledge
0
21
พ 11 ธ.ค. 2019 6:38 pm โดย Grammanano
การเขียน switch case ในภาษา C
โดย Grammanano พ 11 ธ.ค. 2019 5:52 pm บอร์ด Share Knowledge
0
17
พ 11 ธ.ค. 2019 5:52 pm โดย Grammanano
VDO - Introducing to Pace Calculator
โดย numtan5839 พ 11 ธ.ค. 2019 5:38 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
16
พฤ 12 ธ.ค. 2019 11:15 am โดย mindphp
การลบข้อมูลจาก ArrayList ภาษา Java
โดย Grammanano พ 11 ธ.ค. 2019 5:32 pm บอร์ด Share Knowledge
0
19
พ 11 ธ.ค. 2019 5:32 pm โดย Grammanano
วิธีแปลงไฟล์ PDF เป็นไฟล์ Word ทางเว็ปไซต์
โดย noppadonsk พ 11 ธ.ค. 2019 4:24 pm บอร์ด Share Knowledge
0
29
พ 11 ธ.ค. 2019 4:24 pm โดย noppadonsk