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

 

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

การถอดรหัสข้อมูล session ที่ถูกเข้ารหัสโดย session_encode() ด้วยฟังก์ชั่น session_decode()

 

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

bool session_decode ( string $data )

 

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

<?php
$_SESSION["test"] = ";oops|";
?>
<?php
class Session {
    public static function unserialize($session_data) {
        $method = ini_get("session.serialize_handler");
        switch ($method) {
            case "php":
                return self::unserialize_php($session_data);
                break;
            case "php_binary":
                return self::unserialize_phpbinary($session_data);
                break;
            default:
                throw new Exception("Unsupported session.serialize_handler: " . $method . ". Supported: php, php_binary");
        }
    }

    private static function unserialize_php($session_data) {
        $return_data = array();
        $offset = 0;
        while ($offset < strlen($session_data)) {
            if (!strstr(substr($session_data, $offset), "|")) {
                throw new Exception("invalid data, remaining: " . substr($session_data, $offset));
            }
            $pos = strpos($session_data, "|", $offset);
            $num = $pos - $offset;
            $varname = substr($session_data, $offset, $num);
            $offset += $num + 1;
            $data = unserialize(substr($session_data, $offset));
            $return_data[$varname] = $data;
            $offset += strlen(serialize($data));
        }
        return $return_data;
    }

    private static function unserialize_phpbinary($session_data) {
        $return_data = array();
        $offset = 0;
        while ($offset < strlen($session_data)) {
            $num = ord($session_data[$offset]);
            $offset += 1;
            $varname = substr($session_data, $offset, $num);
            $offset += $num;
            $data = unserialize(substr($session_data, $offset));
            $return_data[$varname] = $data;
            $offset += strlen(serialize($data));
        }
        return $return_data;
    }
}
?>

Usage:

<?php
Session::unserialize(session_encode());
?>

 

 

<< PHP Functions 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามการหา Channel access token ของไลน์ Notify
โดย Thanavat_n พฤ 04 ม.ค. 2024 11:51 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
423
ศ 05 ม.ค. 2024 8:24 am โดย emptyspace View Topic สอบถามการหา Channel access token ของไลน์ Notify
ใช้ Wordpress Plugin ที่ติดตั้งใว้ แต่ไม่ได้เปิดใช้ มีผลทำให้เว็บช้าไหมครับ???
โดย Anonymous พ 03 ม.ค. 2024 6:14 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
3
1097
อ 13 ก.พ. 2024 11:39 am โดย บุคคลทั่วไป View Topic ใช้ Wordpress Plugin ที่ติดตั้งใว้ แต่ไม่ได้เปิดใช้ มีผลทำให้เว็บช้าไหมครับ???
แนะนำบิ๊กไบค์ขนาดกลาง ที่เหมาะกับการเดินทางไกล
โดย p444722 พ 03 ม.ค. 2024 12:14 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
370
พ 03 ม.ค. 2024 12:14 am โดย p444722 View Topic แนะนำบิ๊กไบค์ขนาดกลาง ที่เหมาะกับการเดินทางไกล
วิธีสมัคร Binance ง่าย ๆ ใน 3 นาที ผจญภัยในโลกของ crypto
โดย p444722 อ 02 ม.ค. 2024 11:52 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
314
อ 02 ม.ค. 2024 11:52 pm โดย p444722 View Topic วิธีสมัคร Binance ง่าย ๆ ใน 3 นาที ผจญภัยในโลกของ crypto
วิธีเปิดบัญชี Binance ขั้นตอนในการลงทุนดิจิทัล
โดย p444722 อ 02 ม.ค. 2024 11:32 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
310
อ 02 ม.ค. 2024 11:32 pm โดย p444722 View Topic วิธีเปิดบัญชี Binance ขั้นตอนในการลงทุนดิจิทัล
วิธีอ่านค่าตัวต้านทาน แบบเส้น 4 และ 5 แถบสี วิธีการอ่านค่าตัวต้านทาน Resistor (R)
โดย mindphp จ 01 ม.ค. 2024 2:30 pm บอร์ด IOT - Internet of things
2
1986
จ 01 ม.ค. 2024 2:45 pm โดย mindphp View Topic วิธีอ่านค่าตัวต้านทาน แบบเส้น 4 และ 5 แถบสี วิธีการอ่านค่าตัวต้านทาน Resistor (R)
ความแตกต่างของเครื่อง Server R210 กับ R210 II
โดย mindphp จ 01 ม.ค. 2024 11:37 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
337
จ 01 ม.ค. 2024 12:04 pm โดย mindphp View Topic ความแตกต่างของเครื่อง Server R210 กับ R210 II
มาทำความรู้จักกับบัตรผ่อนสินค้ากัน
โดย asider8629 อ 31 ธ.ค. 2023 8:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
321
จ 01 ม.ค. 2024 9:58 am โดย Consolez View Topic มาทำความรู้จักกับบัตรผ่อนสินค้ากัน