&1"; exec($cmd, $output, $code); return ['code' => $code, 'output' => $output]; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $port = intval($_POST['port']); $confFile = "$confDir/{$port}.conf"; $resultMsg = ''; if ($_POST['action'] === 'add') { $baseDir = '/Users/catantech/Desktop/'; $relativeRoot = trim($_POST['root']); // 防止目錄跳脫 if (strpos($relativeRoot, '..') !== false) { $resultMsg = "❌ Root 路徑不能包含 '..' "; } else { // 拼接完整路徑 $fullRoot = rtrim($baseDir, '/') . '/' . ltrim($relativeRoot, '/'); $serverBlock = <<