php – 自动检测内部/外部开发环境

我们使用以下函数自动检测我们是在机器内部还是在实时服务器上,然后为各种组件选择适当的配置:
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,那么该功能将被欺骗.

有没有其他方法来欺骗这个功能?还有哪些其他变量/地方可以用来确定我们的位置?

'127.0.0.1' == $_SERVER["REMOTE_ADDR"]

在您的实时系统上永远不会评估为TRUE.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...