查看: 9238|回复: 26

[教 程] 修改PHPCMS v9.6.3 让其支持HTTPS

  [复制链接]
发表于 2017-5-21 10:27:06 | 显示全部楼层 |阅读模式
本帖最后由 StyleStudio 于 2017-6-27 16:27 编辑


不知道SSL为何物的
不知道HTTPS是啥的
不知道如何安装配置SSL证书和开启HTTPS的
对PHPCMS一无所知的
对PHPCMS知道太多的
针对以上几类人员本文仅供娱乐,不要当真


以下修改方法仅针对于全站动态页面,全站生成静态页面的我还没试尝试过

不同服务环境下的修改过程可能会有差异,先说下我的环境以供参考
CentOS 7.2
nginx + apache 双引擎
php 5.5.38
openssl 1.0.2h
mysql 5.5
phpcms v9.6.3 utf-8
证书:腾讯云,阿里云,Let's Encrypt申请的免费证书 都测试过

注: win2008 IIS7.5环境我也按同样方式配置过,网站运行至今暂未发现问题

本帖只讨论关于HTTPS下的PHPCMS安装和修改,不讨论有关SSL证书的申请、绑定和各种web引擎开启https支持的相关问题!


一.安装部分

首先配置好你主机的SSL证书,我是强制HTTPS访问,http访问会301跳转到HTTPS,确保以下安装过程全部在https下的地址安装

linux系统下上传V9所有文件后设置
cache
uploadfile
phpsso_server/cache
phpsso_server/uploadfile
四个文件夹权限为777
然后开始安装
安装后登录后台更新缓存


二.程序修改部分

[hide]1.后台输入https的url可通过JS校验部分的修改

修改phpcms/modules/admin/site.php
大约45行和128行的正则
  1. ('/http:\/\/(.+)\/$/i', $domain))
复制代码

修改为
  1. ('/(http|https):\/\/(.+)\/$/i', $domain))
复制代码



修改phpcms/modules/admin/templates/setting.tpl.php
大约18行中的正则
  1. http:\/\/(.+)[^/]$
复制代码

修改为
  1. http[s]?:\/\/(.+)[^/]$
复制代码


修改phpcms/modules/admin/templates/site_add.tpl.php
大约13行中的正则
  1. http:\/\/(.+)\/$
复制代码

修改为
  1. http[s]?:\/\/(.+)\/$
复制代码


修改phpcms/modules/admin/templates/site_edit.tpl.php
大约11行中的正则
  1. http:\/\/(.+)\/$
复制代码

修改为
  1. http[s]?:\/\/(.+)\/$
复制代码


修改phpcms/modules/link/templates/link_add.tpl.php
大约10行中的正则
  1. ^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&]*([^<>])*$
复制代码

修改为
  1. ^http[s]?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&]*([^<>])*$
复制代码


修改phpcms/modules/link/templates/link_edit.tpl.php
大约11行中的正则
  1. ^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&]*([^<>])*$
复制代码

修改为
  1. ^http[s]?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&]*([^<>])*$
复制代码


修改phpcms/modules/link/index.php
大约41行和51行中的正则
  1. /http:\/\/(.*)/i
复制代码

修改为
  1. /^http[s]?:\/\/(.*)/i
复制代码






严格按照以上步骤修改后,注册用户 帐号登录等操作完全正常 和PHPSSO通信完全正常,后台添加信息和前台链接URL完全正常

注意:
1.如注册用户提示‘操作失败’,请在后台会员模块设置中关闭‘注册时可选会员模型’或者保证会员不少于两个会员模型

2.在PHP5.6或以上的PHP版本中会出现和PHPSSO无法正常通信的情况,因为PHP5.6及以上fsockopen和file_get_contents等函数openssl需要验证目标的SSL证书是否可信,需要安装openssl根证书才可以,否则openssl会报警告信息 证书验证失败!

如需在php5.6或以上版本中使用HTTPS的请参阅PHP官方有关php5.6和openssl的资料http://php.net/manual/en/migration56.openssl.php

3.系统发信尚未测试,有空的同学可以测试一下看有没问题,如有问题反馈一下,估计HTTPS下发信可能也要修改文件

以上修改后如发现程序运行中出现新问题请跟贴,我看能否解决! QQ:95606117 欢迎交流

如有PHPCMS大神或官方大神有更好的修改或补充修改方法,还盼指出,小弟PHP水平不佳,不能保证所有的修改合理和照顾的面面俱到,只盼将我的方法发出来互相交流学习到更多东西!

后续在HTTPS环境下PHPCMS+DZ+UC的整合目前我还在测试,还有点小问题,完成后附上教程!

评分

参与人数 3鲜花 +10 PC币 +5 收起 理由
8166 + 5 赞一个!
4231 + 5 很给力!
aidybnt + 5 赞一个!

查看全部评分

 楼主| 发表于 2017-5-21 10:37:24 | 显示全部楼层
本帖最后由 StyleStudio 于 2017-5-24 10:44 编辑

DZ UC PHPCMS三方全部在不同HTTPS域名下进行整合

目前已实现


PHPCMS注册/登录/退出自动同步到DZ (PHPCMS注册后DZ免激活自动登录)

DZ注册/登录/退出自动同步到PHPCMS



修改的地方比较多 搞了四五天,修改的乱78糟的 正在整理
回复 支持 反对

使用道具 举报

发表于 2017-5-21 10:48:54 | 显示全部楼层
顶,赞!!!!21个赞
回复 支持 反对

使用道具 举报

发表于 2017-5-22 08:38:15 | 显示全部楼层
谢谢分享 可以学习一下
回复 支持 反对

使用道具 举报

发表于 2017-5-22 08:47:33 | 显示全部楼层
感谢楼主分享。。。现在这个论坛越来越完蛋了。。难道有心人出来分享。。。
回复 支持 反对

使用道具 举报

发表于 2017-5-22 09:05:38 | 显示全部楼层
感谢楼主分享。。。现在这个论坛越来越完蛋了。。难道有心人出来分享。。。
回复 支持 反对

使用道具 举报

发表于 2017-5-22 10:50:09 | 显示全部楼层
dddddddddddddddddddddddddddd
回复 支持 反对

使用道具 举报

发表于 2017-5-22 19:19:39 | 显示全部楼层
很不错 感谢分享
回复 支持 反对

使用道具 举报

发表于 2017-5-22 23:10:07 | 显示全部楼层
想了解一下
回复 支持 反对

使用道具 举报

发表于 2017-5-24 00:46:28 | 显示全部楼层

顶,赞!!!!21个赞
回复 支持 反对

使用道具 举报

发表于 2017-5-24 08:31:09 | 显示全部楼层
修改PHPCMS v9.6.3 让其支持HTTPS
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 点击这里注册

本版积分规则

小黑屋|Archiver|phpcms网站管理系统 ( 京ICP备14011169 )

GMT+8, 2018-12-12 03:53 , Processed in 0.176716 second(s), 9 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表