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

什么是网站的实用性?

网站的实用性指的是用户在使用网站时所获得的便捷性和实际效益。一个具有实用性的网站需要满足以下条件: 1.易于使用:网站的页面设计和导航结构清晰简洁,用户可以快速找到所需要的信息。 2.内容丰富:网站所提供的信息满足用户需求,包括文字、图片、视频等多种形式,能够使用户得到实际的帮助和收益。 3.响应速度快:网站的加载速度快,能够在用户不耐烦之前提供所需信息。 4.安全性高:网站的操作过程安全

Public @ 2023-06-01 12:50:20

十个JavaScript页面布局技巧

交付信息结构是一个交互式用户界面所需要完成的首要任务。更直观的布局结构设计,能使用户更好的理解内容。不管你想要介绍的是什么样的内容,你都可以以更加互动和更加适应的方式去呈现现它。本文里面收集的11种高超的JavaScipt技术,让你更好的控制内容的显示方式,以便用于下一次的布局设计。“页面滑动门”, “隐藏的内容”, “图片和内容滑动门”, “动画幻灯片”, “传送带”, “Tab内容选项卡” ,

Public @ 2018-11-27 15:45:15

HTTPS究竟是啥?这篇文章带你快速了解HTTPS

HTTPS是一种用于保护网页通信安全的协议,也是HTTP协议的增强版。HTTPS通过使用SSL/TLS协议来加密网络数据传输,从而防止窃听、篡改和伪造等攻击。 在HTTPS中,浏览器和服务器之间的通信过程中,会进行一系列加密解密操作,以确保网络数据的安全性。由于HTTPS协议使用了SSL/TLS协议,因此在网络通信过程中,浏览器和服务器之间会进行数字证书的验证和密钥交换,从而保证通信的安全性和完

Public @ 2023-06-04 23:50:16

HTTPS的工作原理,哪些网站适合使用HTTPS?

HTTPS的工作原理: 1. HTTPS(Hypertext Transfer Protocol Secure)使用了SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议来对HTTP的通信进行加密和认证。 2. 在建立HTTPS连接时,客户端发送请求到服务器,并且服务器会发送一个公钥给客户端。 3. 客户端使用公钥对称地加密一个随机的

Public @ 2023-06-28 17:00:39

更多您感兴趣的搜索

0.417949s