'disable', 'ips' => ['', '', '', '', ''] ]; // load existing data if (file_exists($jsonFile)) { $raw = file_get_contents($jsonFile); $data = json_decode($raw, true); if (!is_array($data)) $data = $defaults; } else { $data = $defaults; } $errors = []; $saveSuccess = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { // read posted values $posted_firewall = isset($_POST['firewall']) && in_array($_POST['firewall'], ['enable', 'disable']) ? $_POST['firewall'] : 'disable'; $posted_ips = []; for ($i = 1; $i <= 5; $i++) { $key = "ip{$i}"; $val = isset($_POST[$key]) ? trim((string)$_POST[$key]) : ''; $posted_ips[] = $val; } // validate IPs (allow empty) foreach ($posted_ips as $index => $ip) { if ($ip !== '' && !filter_var($ip, FILTER_VALIDATE_IP)) { $errors[] = "IP" . ($index + 1) . " is not a valid IP address: " . htmlspecialchars($ip); } } if (empty($errors)) { $new = [ 'firewall' => $posted_firewall, 'ips' => $posted_ips ]; $json = json_encode($new, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); if (file_put_contents($jsonFile, $json, LOCK_EX) === false) { $errors[] = "Failed to write {$jsonFile}. Check permissions."; } else { $data = $new; $saveSuccess = "Saved."; } } } ?>

Firewall


>
>





'; foreach ($errors as $e) echo '
' . $e . '
'; echo ''; } if ($saveSuccess) { echo '
' . htmlspecialchars($saveSuccess) . '
'; } ?>