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

如何选择虚拟空间

虚拟主机技术,顾名思义就是将一台物理上的服务器划分为很多个虚拟主机,每个主机都可以有单独的域名和空间,这是一种对服务器充分利用的技术手段。但虚拟空间市面上价格差异比较大,例如100M的ASP空间,一些不知名的服务商每年只要10块钱,而知名的服务商可能要100元,相差10倍左右。考虑到网站的稳定性、服务的长期支持、商家的信誉等因素,建议新站长还是选择从正规厂商购买,如果坚信你的网站能搞点名堂,每年几

Public @ 2012-01-27 15:25:58

虚拟主机一键配置SSL证书教程

一.如何一键开启ssl1.登录景安会员中心,点击虚拟主机进入管理页面一键SSL-1.png一键SSL-2.png2.开启SSL前,需绑定一个域名,免费SSL证书只支持一个域名(www.a.com和a.com等同于 一个域名),多个域名将无法申请;一键SSL-3.png一键SSL-4.png3.域名绑定完成后,直接点击“一键SSL”开启证书,即可直接开启SSL证书一键SSL-5.png一键SSL-6

Public @ 2021-01-12 15:36:31

HTTPS改造通用解决方案

HTTPS改造是指将原本的HTTP协议改为HTTPS协议,从而保障网站的安全性。通用的解决方案如下: 1. 证书申请 首先需要向CA机构申请SSL证书,包括域名、公司信息、证书类型等。一般情况下申请DV证书即可。 2. 安装SSL证书 将证书安装在服务器上。 3. 修改网站配置文件 修改网站配置文件,将HTTP协议改为HTTPS协议。 4. 同步网站 同步网站资源,如图片、CSS、

Public @ 2023-04-15 11:00:22

HTTPS站点如何在搜索资源平台提交数据

HTTPS站点在搜索资源平台如何提交数据,如何使用平台工具,下面给大家细细讲解。HTTPS站点在搜索资源平台提交数据方法:1、HTTPS站点请先使用平台HTTPS认证工具,经过平台工具验证后,可加速搜索对HTTPS和HTTP站点间的抓取切换;2、平台已全面支持HTTPS站点,HTTPS站点可使用平台所有工具;3、HTTPS认证工具只是协议的切换,站长平台对站点本身的各项统计数据不会因为协议的切换而

Public @ 2013-06-10 15:56:07

更多您感兴趣的搜索

0.658972s