当前位置: 首页 > news >正文

discuz、ecshop、帝国cms部署https(ssl)后会员无法登录


discuz、ecshop、帝国cms部署https(ssl)后会员无法登录
注意,以下教程特网科技虚拟主机或者亚数的云主机独立IP部署SSL后的301跳转

1.discuz部署https后台无法登录:

discuz采用: $_SERVER[‘HTTPS’] 方式判断,我司虚拟主机不支持同时也不支持$_SERVER['HTTP_HOST'],需使用$_SERVER['HTTP_FROM_HTTPS']进行判断,其他php程序同样适用。

source/class/discuz/discuz_application.php (第188行左右):

查找:

$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
修改为:

$_G['isHTTPS'] = ($_SERVER['HTTP_FROM_HTTPS'] && strtolower($_SERVER['HTTP_FROM_HTTPS']) != 'off') ? true : false;
uc_server/avatar.php(第14行左右):

查找:

define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
修改为:

define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTP_FROM_HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
另:使用301方式强制将http跳转到https后会导致后台uc通信失败。

2.ecshop部署https后台无法登录:

打开includes/cls_ecshop.php 154行左右

查找

return (isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) ? 'https://' : 'http://';
修改为:

return isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')||(strtolower($_SERVER['HTTP_FROM_HTTPS']) == 'on') ? 'https://' : 'http://';


3.帝国cms部署https后台登陆空白:

(1)帝国cms7.2及以下版本

e/class/connect.php

function eReturnDomain(){
        $domain=RepPostStr($_SERVER['HTTP_HOST'],1);
        if(emptyempty($domain))
        {
                return '';
        }
       // return 'http://'.$domain;    注释该行,替换成下两行内容
      $httptype = isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')||(strtolower($_SERVER['HTTP_FROM_HTTPS']) == 'on') ? 'https://' : 'http://';
      return $httptype.$domain;
}
function FWeReturnDomain(){
    $domain=RepPostStr($_SERVER['HTTP_HOST'],1);
    if(emptyempty($domain))
    {
        return '';
    }
    //return 'http://'.$domain;  注释该行,替换成下两行内容 
      $httptype = isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')||(strtolower($_SERVER['HTTP_FROM_HTTPS']) == 'on') ? 'https://' : 'http://'; 
      return $httptype.$domain;
}


(2)帝国cms7.5及以上版本

e/config/config.php      'httptype'=>0  # 全自动

e/class/connect.php

function eCheckUseHttps(){
//if($_SERVER['HTTPS']&&strtolower($_SERVER['HTTPS'])!='off')  注释该行, 替换成下一行内容
    if (isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')||(strtolower($_SERVER['HTTP_FROM_HTTPS']) == 'on'))
{
return 1;
}
else
{
return 0;
}
}

相关文章:

  • UGUI源码分析与研究3-扩展UGUI实现自定义UI组件
  • 计算机网络:数据交换方式
  • 研究人员发现 OpenAI ChatGPT、Google Gemini 的漏洞
  • GitHub Copilot+ESP开发实战-串口
  • Spire.PDF for .NET【文档操作】演示:将PDF拆分为多个PDF文件
  • Java(0)---调用C++动态链接库-windows--JNIDemo
  • 阿里云ECS服务器安装java环境相关软件
  • OpenCV 单目相机光平面标定
  • Elasticsearch 悬挂索引解析与管理指南
  • 【python】爬取杭州市二手房销售数据做数据分析【附源码】
  • 音视频开发之旅——音频基础概念、交叉编译原理和实践(LAME的交叉编译)(iOS)
  • 【vscode 常用扩展插件】
  • 【机器学习-05】模型的评估与选择
  • ASP .Net Core 8.0 依赖注入的三种注入模式
  • 计算机二级(Python)真题讲解每日一题:《方菱形》
  • JavaScript-如何实现克隆(clone)函数
  • 【刷算法】求1+2+3+...+n
  • C++入门教程(10):for 语句
  • ES6简单总结(搭配简单的讲解和小案例)
  • Flannel解读
  • iOS编译提示和导航提示
  • java小心机(3)| 浅析finalize()
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 漂亮刷新控件-iOS
  • 如何利用MongoDB打造TOP榜小程序
  • 如何用vue打造一个移动端音乐播放器
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 我这样减少了26.5M Java内存!
  • 一道闭包题引发的思考
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • (1)(1.13) SiK无线电高级配置(五)
  • (12)Linux 常见的三种进程状态
  • (2020)Java后端开发----(面试题和笔试题)
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (HAL库版)freeRTOS移植STMF103
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (转载)Linux 多线程条件变量同步
  • (转载)PyTorch代码规范最佳实践和样式指南
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .axf 转化 .bin文件 的方法
  • .Net 4.0并行库实用性演练
  • .NET 4.0中的泛型协变和反变
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @ComponentScan比较
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [Angular 基础] - 指令(directives)