false, 'message' => __('Access denied', 'siem-wazuh')]); exit; } // Vérification CSRF if (!Session::validateCSRF($_POST)) { echo json_encode(['success' => false, 'message' => __('Invalid CSRF token', 'siem-wazuh')]); exit; } $response = ['success' => false, 'message' => '']; try { $server_id = intval($_POST['server_id'] ?? 0); if ($server_id <= 0) { throw new Exception(__('Invalid server ID', 'siem-wazuh')); } $server = new PluginSiemWazuhServer(); if (!$server->getFromDB($server_id)) { throw new Exception(__('Server not found', 'siem-wazuh')); } // Test de connexion $result = $server->testConnection(); if ($result['success']) { $response = [ 'success' => true, 'message' => $result['message'], 'server_info' => $result['data'] ?? null, 'timestamp' => date('Y-m-d H:i:s') ]; // Log du test réussi Event::log( $server_id, "PluginSiemWazuhServer", 5, "connection", sprintf(__('Connection test successful for server %s'), $server->fields['name']) ); } else { $response = [ 'success' => false, 'message' => $result['message'], 'error_type' => 'connection_failed' ]; // Log du test échoué Event::log( $server_id, "PluginSiemWazuhServer", 2, "connection", sprintf(__('Connection test failed for server %s: %s'), $server->fields['name'], $result['message']) ); } } catch (Exception $e) { $response = [ 'success' => false, 'message' => $e->getMessage(), 'error_type' => 'exception' ]; } echo json_encode($response, JSON_UNESCAPED_UNICODE);