浏览代码

clientareafunctions

andre 3 年之前
父节点
当前提交
3cb90b711e
共有 1 个文件被更改,包括 31 次插入8 次删除
  1. 31 8
      cwp7.php

+ 31 - 8
cwp7.php

@@ -386,7 +386,7 @@ function cwp7CheckA($domain, $serverIP, $recurse = 0) {
 
 function cwp7CheckSOA($domain) {
 	$tld = array_slice(explode('.', $domain), -1, 1)[0];
-	$conn = fsockopen ('whois.iana.org', 43, $errno, $errstr);
+	$conn = fsockopen('whois.iana.org', 43, $errno, $errstr);
 	if($conn) {
 		fputs($conn, $tld . "\r\n");
 		while(!feof($conn)) {
@@ -409,12 +409,35 @@ function cwp7CheckSOA($domain) {
 		);
 		return 'error';
 	}
-	logModuleCall(
-		'cwp7',
-		__FUNCTION__,
-		$tld,
-		'debug2',
-		$whoisServer
-	);
+	$conn = fsockopen($whoisServer, 43, $errno, $errstr);
+	if($conn) {
+		fputs($conn, $domain . "\r\n");
+		while(!feof($conn)) {
+			$response .= fgets($conn,128);
+		}
+		fclose($conn);
+		$responseArray = str_getcsv($response, "\n");
+		foreach($responseArray as $row) {
+			if(str_starts_with($row, 'whois')) {
+				$whoisServer = array_slice(explode(' ', $row), -1, 1)[0];
+			}
+		}
+		logModuleCall(
+			'cwp7',
+			__FUNCTION__,
+			$domain,
+			'debug2',
+			$responseArray
+		);
+	} else {
+		logModuleCall(
+			'cwp7',
+			__FUNCTION__,
+			$errno,
+			'debug2',
+			$errstr
+		);
+		return 'error';
+	}
 	return 'none';
 }