diff --git a/shopxo/app/plugins/vr_ticket/admin/Admin.php b/shopxo/app/plugins/vr_ticket/admin/Admin.php index 0af3d18..d77242c 100644 --- a/shopxo/app/plugins/vr_ticket/admin/Admin.php +++ b/shopxo/app/plugins/vr_ticket/admin/Admin.php @@ -667,11 +667,15 @@ class Admin extends Common } // 生成 room.id(兜底:保证每个房间有唯一 id,支持前端按 id 引用) + // 使用 random_int() (CSPRNG),UUID v4 格式(版本=4,变体=10xx) if (empty($room['id'])) { $room['id'] = sprintf('%08x-%04x-%04x-%04x-%04x%08x', - time(), mt_rand(0, 0xffff), mt_rand(0, 0xffff), - mt_rand(0, 0x3fff) | 0x8000, - mt_rand(0, 0xffff), mt_rand(0, 0xffffffff)); + time(), + random_int(0, 0xffff), + random_int(0, 0xffff), + (random_int(0, 0x3fff) & 0x0fff) | 0x4000, // 版本4 + 变体10xx + random_int(0, 0xffff), + random_int(0, 0xffffffff)); } // --- 自动补全 seats 字典,解决 'A' 未定义报错 ---