- fixing domain validation
- added validation for local hosts (mysql-hosts)
This commit is contained in:
@@ -25,6 +25,7 @@ function checkMysqlAccessHost($fieldname, $fielddata, $newfieldvalue, $allnewfie
|
|||||||
{
|
{
|
||||||
if(validate_ip($host_entry, true) == false
|
if(validate_ip($host_entry, true) == false
|
||||||
&& validateDomain($host_entry) == false
|
&& validateDomain($host_entry) == false
|
||||||
|
&& validateLocalHostname($host_entry) == false
|
||||||
&& $host_entry != '%')
|
&& $host_entry != '%')
|
||||||
{
|
{
|
||||||
return array(FORMFIELDS_PLAUSIBILITY_CHECK_ERROR, 'invalidmysqlhost', $host_entry);
|
return array(FORMFIELDS_PLAUSIBILITY_CHECK_ERROR, 'invalidmysqlhost', $host_entry);
|
||||||
|
|||||||
@@ -40,15 +40,8 @@ function validateDomain($domainname)
|
|||||||
// there is a bug in php 5.2.13 - 5.3.2 which
|
// there is a bug in php 5.2.13 - 5.3.2 which
|
||||||
// lets filter_var fail if the domain has
|
// lets filter_var fail if the domain has
|
||||||
// a dash (-) in it. #
|
// a dash (-) in it. #
|
||||||
if(version_compare("5.2.13", PHP_VERSION, ">=")
|
if(version_compare("5.2.13", PHP_VERSION, "=")
|
||||||
&& version_compare("5.3.2", PHP_VERSION, "<="))
|
|| version_compare("5.3.2", PHP_VERSION, "="))
|
||||||
{
|
|
||||||
if(filter_var($domainname_tmp, FILTER_VALIDATE_URL) !== false && filter_var($domainname_tmp, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED) === false && filter_var($domainname_tmp, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false)
|
|
||||||
{
|
|
||||||
return $domainname;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
$pattern = '/^([a-z0-9]([a-z0-9\-]{0,61}[a-z0-9])?\.)+[a-z]{2,6}$/i';
|
$pattern = '/^([a-z0-9]([a-z0-9\-]{0,61}[a-z0-9])?\.)+[a-z]{2,6}$/i';
|
||||||
if(preg_match($pattern, $domainname_tmp))
|
if(preg_match($pattern, $domainname_tmp))
|
||||||
@@ -56,5 +49,22 @@ function validateDomain($domainname)
|
|||||||
return $domainname;
|
return $domainname;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(filter_var($domainname_tmp, FILTER_VALIDATE_URL) !== false && filter_var($domainname_tmp, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED) === false && filter_var($domainname_tmp, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false)
|
||||||
|
{
|
||||||
|
return $domainname;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function validateLocalHostname($hostname)
|
||||||
|
{
|
||||||
|
$pattern = '/^([a-zA-Z0-9\-])+$/i';
|
||||||
|
if(preg_match($pattern, $hostname))
|
||||||
|
{
|
||||||
|
return $hostname;
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user