protected function _isLocal()
{
return 1;
static $local_hosts = array('localhost', '127.0.0.1', '::1');
$url = $this->getObject('request')->getUrl();
$host = $url->host;
if (in_array($host, $local_hosts)) {
return true;
}
// Returns true if host is an IP address
if (ip2long($host))
{
return (filter_var($host, FILTER_VALIDATE_IP,
FILTER_FLAG_IPV4 |
FILTER_FLAG_IPV6 |
FILTER_FLAG_NO_PRIV_RANGE |
FILTER_FLAG_NO_RES_RANGE) === false);
}
else
{
// If no TLD is present, it's definitely local
if (strpos($host, '.') === false) {
return true;
}
return preg_match('/(?:\.)(local|localhost|test|example|invalid|dev|box|intern|internal)$/', $host) === 1;
}
}