Categories


Tags


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;

}

}

来源:西部数码


Public @ 2018-11-02 15:55:57

访问本页面,您的浏览器需要支持JavaScript,怎么回事?

百度和google里面搜索我的站点,出现:“访问本页面,您的浏览器需要支持JavaScript”。到底怎么回事?比如:这几天发现在百度和GOOGLE里搜索自己的站点时都显示:访问本页面,您的浏览器需要支持JavaScript... 前几天还是正常的,网页都是纯的HTML,根本不存在浏览器是否支持的问题,请问是什么原因造成的呢?答案:我进行了一系列的分析,发现类似你这种情况的网站还很多。通过搜索“访

Public @ 2017-06-14 16:14:01

决定网站访问速度的几个因素以及优化方向

影响网站访问速度的几个因素包括: 1. 服务器响应时间:服务器的处理速度和响应时间会直接影响网站的访问速度。优化方向可以包括优化服务器硬件、软件和网络环境,提高响应速度。 2. 网络延迟:网络延迟指的是数据从用户设备到服务器之间传输的时间。优化方向可以包括选择更好的网络服务提供商、使用内容分发网络(CDN)等,加速数据传输。 3. 页面大小和内容:网站中包含的大量图片、视频、脚本和样式表等文

Public @ 2023-06-30 11:50:19

HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?

什么是SSL?SSL是指安全套接层协议(以及传输层协议TLS),位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持,是目前使用最广泛的安全协议。它为互联网或内部网络连接,进行操作的两台机器之间提供安全信息通道,即HTTPS。1.1 数据传输期间,对信息进行加密1.2通过唯一的SSL凭据识别证书所有者身份。1.3先验证证书所有者身份,再颁发SSL证书图片.pngHTTP和HTTPS有什

Public @ 2015-03-07 15:35:55

HTTPS站点如何建设才能对百度友好

以下是一些建议: 1. 安装SSL证书,使站点支持HTTPS协议。这会使站点更加安全,受到更好的百度搜索引擎排名。 2. 确保站点的内容和链接被正确地设置为HTTPS链接,以避免任何内容或链接的HTTP和HTTPS之间的混淆。 3. 通过安装扩展名以避免站点中的重定向错误。确保所有站点修复完所有的HTTPS错误。 4. 确保所有内容(包括图像、脚本和其他资源)都可以从HTTPS站点加载。这

Public @ 2023-06-03 08:50:16

更多您感兴趣的搜索

0.529125s