false, 'message' => 'Only POST method allowed' ]); exit; } // ------------------------------- // Read JSON body // ------------------------------- $rawInput = file_get_contents('php://input'); $data = json_decode($rawInput, true); if (!is_array($data)) { http_response_code(400); echo json_encode([ 'success' => false, 'message' => 'Invalid JSON payload' ]); exit; } // ------------------------------- // Extract + normalize domain // ------------------------------- $domain = trim($data['domain'] ?? ''); // Remove protocol if user sends URL $domain = preg_replace('#^https?://#', '', $domain); $domain = preg_replace('#/.*$#', '', $domain); // ------------------------------- // Domain validation // ------------------------------- function validateDomain(string $domain): bool { return (bool) preg_match( '/^(?!-)(?:[a-zA-Z0-9-]{1,63}\.)+[a-zA-Z]{2,}$/', $domain ); } if (!$domain || !validateDomain($domain)) { http_response_code(400); echo json_encode([ 'success' => false, 'message' => 'Invalid domain' ]); exit; } // ------------------------------- // DNS A record lookup // ------------------------------- $records = dns_get_record($domain, DNS_A); $ips = []; if ($records !== false) { foreach ($records as $record) { if (!empty($record['ip'])) { $ips[] = $record['ip']; } } } // ------------------------------- // Response // ------------------------------- if (empty($ips)) { echo json_encode([ 'success' => false, 'domain' => $domain, 'message' => 'No A records found', 'ips' => [] ]); exit; } echo json_encode([ 'success' => true, 'domain' => $domain, 'ips' => array_values(array_unique($ips)) ]);