我们使用以下功能自动检测我们是在内部机器上还是在实时服务器上,然后为各种组件选择适当的配置:
function devIsLocal(){
$res=false;
$http_host=$_SERVER['HTTP_HOST'];
if($http_host=='localhost')$res=true;
if($http_host=='127.0.0.1')$res=true;
if(substr($http_host,-4)=='.lan')$res=true;
if(strpos($http_host, '.')===false)$res=true;
return($res);
}
如您所见,它仅依赖于 HTTP_HOST 值。
当然,如果您在本地使用某种虚拟主机,例如 example.com,那么该功能将被欺骗。
还有其他方法可以欺骗该功能吗?以及我们可以查看哪些其他变量/位置来确定我们在哪里?