浏览代码

[Web] allow "*" as wildcard domain

FreddleSpl0it 1 月之前
父节点
当前提交
ed4dcff63b
共有 1 个文件被更改,包括 9 次插入5 次删除
  1. 9 5
      data/web/inc/functions.inc.php

+ 9 - 5
data/web/inc/functions.inc.php

@@ -1115,11 +1115,15 @@ function is_valid_domain_name($domain_name, $options = array()) {
   // Convert domain name to ASCII for validation
   $domain_name = idn_to_ascii($domain_name, 0, INTL_IDNA_VARIANT_UTS46);
 
-  // Remove '*.' if wildcard subdomains are allowed
-  if (isset($options['allow_wildcard']) &&
-      $options['allow_wildcard'] == true &&
-      strpos($domain_name, '*.') === 0) {
-    $domain_name = substr($domain_name, 2);
+  if (isset($options['allow_wildcard']) && $options['allow_wildcard'] == true) {
+    // Remove '*.' if wildcard domains are allowed
+    if (strpos($domain_name, '*.') === 0) {
+      $domain_name = substr($domain_name, 2);
+    }
+    // Allow '*' as wildcard domain
+    if ($domain_name === "*") {
+      return true;
+    }
   }
 
   return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name)