pezcurrel пре 1 месец
родитељ
комит
9b3e2cb1d8
1 измењених фајлова са 11 додато и 8 уклоњено
  1. 11 8
      lib/validhostname.php

+ 11 - 8
lib/validhostname.php

@@ -1,15 +1,18 @@
 <?php
-function validhostname($inp,$pattmods='') {
-	if (strlen($inp)>253)
-		return(false);
-	$inp=explode('.',$inp);
-	foreach ($inp as $lab) {
+function validhostname($hostname,$pattmods='') {
+	preg_replace('/./u','.',$hostname,-1,$c);
+	(strlen($hostname)>$c) ? $multibyte=true : $multibyte=false;
+	if ($multibyte) $hostname=idn_to_ascii($hostname,IDNA_DEFAULT,INTL_IDNA_VARIANT_UTS46);
+	if (strlen($hostname)>253)
+		return false;
+	$labs=explode('.',$hostname);
+	foreach ($labs as $lab) {
 		$len=strlen($lab);
 		if ($len==0 || $len>63)
-			return(false);
+			return false;
 		if (preg_match('#^[a-z0-9]([a-z0-9-]*[a-z0-9])?$#i'.$pattmods,$lab)!==1)
-			return(false);
+			return false;
 	}
-	return(true);
+	return true;
 }
 ?>