帝国cms改用https访问导致后台登陆空白的解决方法

今天有一基于帝国cms的网站升级使用https,结果后台无法正常登录,登录后网站页面显示空白,排除密码错误、设置错误、文件权限错误的因素后,经搜索相关问题发现为帝国cms自身不足,/e/class/connect.php文件中的 eReturnDomain 和 FWeReturnDomain 函数返回地址未考虑https。

予以修正即可;本文记录备份。

phome.gif

解决方法

打开/e/class/connect.php文件,搜索以下字段:

return 'http://'.$domain;

将其修改替换为:

return ($_SERVER['HTTPS'] ? 'https':'http').'://'.$domain;

具体代码段如下:

eReturnDomain函数段

function eReturnDomain(){
    $domain=RepPostStr($_SERVER['HTTP_HOST'],1);
    if(empty($domain))
    {
        return'';
    }
    return 'http://'.$domain;    
}

修改为:

function eReturnDomain(){
    $domain=RepPostStr($_SERVER['HTTP_HOST'],1);
    if(empty($domain))
    {
        return'';
    }
    return ($_SERVER['HTTPS'] ? 'https':'http').'://'.$domain;
}

FWeReturnDomain函数段

function FWeReturnDomain(){
    $domain=RepPostStr($_SERVER['HTTP_HOST'],1);
    if(empty($domain))
    {
        return '';
    }
    return 'http://'.$domain;
}

修改为:

$domain=RepPostStr($_SERVER['HTTP_HOST'],1);
    if(empty($domain))
    {
        return '';
    }
    return ($_SERVER['HTTPS'] ? 'https':'http').'://'.$domain;
}
猜您喜欢

发表评论

icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif