From c6119c771d8fdc4f4794e03afd9a4f84b5cdbebe Mon Sep 17 00:00:00 2001 From: Guillaume Mazoyer Date: Thu, 23 Jul 2015 17:59:59 +0200 Subject: Rework hostname parameter check. Rename FQDN to hostname which seems more appropriate. Refactor match_fqdn / match_hostname function to use a more accurate way of checking a potential hostname. --- includes/utils.php | 50 ++++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 24 deletions(-) (limited to 'includes/utils.php') diff --git a/includes/utils.php b/includes/utils.php index 828832f..79888dd 100644 --- a/includes/utils.php +++ b/includes/utils.php @@ -142,24 +142,25 @@ function match_ipv6($ip, $ip_only = true) { } /** - * Test if a given parameter is a valid FQDN or not. + * Test if a given parameter is a valid hostname or not. * - * @param string $fqdn the parameter to test. - * @return boolean true if the parameter matches a valid FQDN, false otherwise. + * See: http://stackoverflow.com/a/4694816 + * http://stackoverflow.com/a/2183140 + * for references. + * + * @param string $hostname the parameter to test. + * @return boolean true if the parameter matches a valid hostname, false + * otherwise. */ -function match_fqdn($fqdn) { - $regex = '/(?=^.{4,255}$)(^((?!-)[a-zA-Z0-9-]{1,63}(?