玩传奇论坛

标题: DZ怎么实现全站HTTPS? [打印本页]

作者: admin    时间: 2019-12-14 17:37
标题: DZ怎么实现全站HTTPS?
查找修改文件discuz_application.php
找到 source/class/discuz/discuz_application.php (约第187行处)
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码
修改为
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
复制代码

查找修改文件avatar.php
找到 uc_server/avatar.php (约第13行处)
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码
修改为
  1. define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码

查找修改文件admin.php
找到 uc_server/admin.php (约第13行处)
  1. define('UC_API', strtolower((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码

修改为
  1. define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码

修改后台设置:
后台 >全局 > 站点 URL,改为HTTPS
后台 > 站长 > UCenter 设置 > UCenter 访问地址,改为HTTPS
UCenter 后台 > 应用管理 > 应用的主 URL,改为HTTPS

做到这一步若还有问题,逐步排查模板、数据库等地方
风格管理中将“界面基础图片目录 {IMGDIR}”和“扩展图片目录 {STYLEIMGDIR}” 地址设置为 https 开头的绝对链接,需要修复一处BUG,否则会导致这部分风格图片无法显示。

打开 source/function/cache/cache_styles.php ,查找以下三项:
$cssdata = !preg_match('/^http:\/\//i', $data['styleimgdir'])
$cssdata = !preg_match('/^http:\/\//i', $data['imgdir'])
$cssdata = !preg_match('/^http:\/\//i', $data['staticurl'])

将其中的 /^http:\/\//i 替换为 /^http/i ,保存覆盖。
注意:修改后,若将来要使用相对链接,需要确保目录不以 http 开头。

2. 解决 DiscuzTips 造成的不安全资源提示。
打开 source/plugin/manyou/Service/DiscuzTips.php ,在 echo $jsCode; 前加 // 将其注释掉。
3、http:// 跳转至 https://
打开 source/class/class_core.php 文件,在set_exception_handler(array('core', 'handleException'));后面加入:
  1. if($_SERVER['SERVER_PORT'] != '443' && $_SERVER['PHP_SELF'] != '/api/uc.php') {
  2.         if(!preg_match("/(Zidingyi|Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", $_SERVER['HTTP_USER_AGENT'])) {
  3.                 header('HTTP/1.1 301 Moved Permanently');
  4.                 header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
  5.                 exit;
  6.         } elseif(preg_match("/(Baidu|Google)/i", $_SERVER['HTTP_USER_AGENT'])) {
  7.                 header('HTTP/1.1 403 Forbidden');
  8.                 exit;
  9.         }
  10. }
复制代码

当访问端口不为443(即https)时,如果不是搜索引擎则跳转到https页面,否则如果是百度或Google蜘蛛(这两个搜索引擎已支持收录https)则返回403禁止访问,避免重复收录 http 和 https 或优先收录了 http ,其它搜索引擎未定义,正常返回 http 页面(其它搜索引擎可能不支持收录 https ,因此开放 http 给他们)。
以上代码中“Zidingyi”可以任意修改,管理员使用以下UA可以不跳转到https,便于对http版进行调测:
作者: 一缕情丝    时间: 2019-12-15 07:00
呵呵。。。不错啊
作者: 十三    时间: 2019-12-18 08:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 暗夜之殇    时间: 2019-12-31 08:05
么有分,谁能送我点积分啊::>_<::
作者: 炽天熊猫    时间: 2019-12-31 08:40
么有分,谁能送我点积分啊::>_<::
作者: 众神小青    时间: 2020-1-9 07:59
回的人少,我来小顶一下!
作者: 龙帝零    时间: 2020-1-14 08:31
呵呵。。。不错啊
作者: 天魔爱爱    时间: 2020-2-3 08:17
路过 帮顶 嘿嘿
作者: 季节    时间: 2020-2-15 08:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: 血落无痕    时间: 2020-2-18 08:24
么有分,谁能送我点积分啊::>_<::
作者: 鬼泣    时间: 2020-2-22 07:35
感谢楼主分享,2019发大财!!!
作者: 决战艾米    时间: 2020-2-23 08:15
路过 帮顶 嘿嘿
作者: 龙铳让刃    时间: 2020-2-23 08:25
确实是难得好帖啊,顶先!
作者: 会跳舞的猫猫    时间: 2020-2-23 08:45
呵呵,低调,低调!
作者: 炽火骄阳    时间: 2020-2-25 07:03
路过 帮顶 嘿嘿
作者: 木子九天    时间: 2020-3-4 08:36
路过 帮顶 嘿嘿
作者: 水银灯    时间: 2020-3-10 08:31
不错,顶一个!
作者: FL烦人    时间: 2020-3-15 08:44
回的人少,我来小顶一下!
作者: 做主    时间: 2020-3-23 08:23
顶顶顶顶顶大大大
作者: 敏敏特穆尔    时间: 2020-3-27 08:11
顶顶顶顶顶大大大
作者: 飘泪    时间: 2020-3-28 08:51
路过 帮顶 嘿嘿
作者: 敬仰    时间: 2020-3-30 07:19
回的人少,我来小顶一下!
作者: 蔷薇风野    时间: 2020-4-4 08:10
发发呆,回回帖,工作结束~
作者: 云卷云舒    时间: 2020-4-9 08:58
顶顶顶顶顶大大大
作者: 众神玖掵貓    时间: 2020-4-12 07:16
路过 帮顶 嘿嘿
作者: 菠萝妹妹    时间: 2020-4-15 07:27
呵呵,低调,低调!
作者: 混世魔王    时间: 2020-4-16 07:12
么有分,谁能送我点积分啊::>_<::
作者: 天籁小仔    时间: 2020-4-21 07:36
顶顶顶顶顶大大大
作者: 风花雪月    时间: 2020-4-22 07:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: 罗森达    时间: 2020-4-23 08:05
发发呆,回回帖,工作结束~
作者: 加十列    时间: 2020-4-24 08:13
感谢楼主分享,2020发大财!!!
作者: 奶爸也很帅    时间: 2020-4-25 07:03
顶顶顶顶顶大大大
作者: 茗爲优雅    时间: 2020-4-29 07:05
顶顶顶顶顶大大大
作者: 阿鲁卡多    时间: 2020-5-2 08:57
感谢楼主分享,2020发大财!!!
作者: 令狐芒果    时间: 2020-5-8 07:50
这贴内容不错
作者: 沙子    时间: 2020-5-15 08:10
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 玩传奇论坛 (http://wanmirbbs.com/) Powered by Discuz! X3.2