当前位置:首页 >> 技术分享 >> 详情
sousuo
sousuo

PHPCMS v9修改程序使之支持HTTPS访问的修改方案【2020年全面版本】

上传时间:2020-04-08             浏览次数:142

最近帮客户做了一个phpcms的https改造程序修改。发现需要改的地方还真的不少,参照了网上的一些资料,发现写的比较乱,也不是太全面,这里总结一个全面的:

1、修改phpcms/modules/admin/site.php  大约45行和128行的正则

if (!empty($domain) && !preg_match('/http://(.+)/$/i', $domain)) {

修改为:

if (!empty($domain) && !preg_match('/http://(.+)/$|https://(.+)/$/i', $domain)) {

2、修改phpcms/modules/admin/templates/setting.tpl.php大约18行中的正则

http://(.+)1$

修改为:

http[s]?://(.+)1$

3、修改phpcms/modules/admin/templates/site_add.tpl.php大约13行中的正则

http://(.+)/$

修改为:

http[s]?://(.+)/$

4、修改phpcms/modules/admin/templates/site_edit.tpl.php大约11行中的正则

http://(.+)/$

修改为:

http[s]?://(.+)/$

5、修改phpcms/modules/link/templates/link_add.tpl.php大约10行中的正则

^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&](2)$

修改为:

^http[s]?://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&](2)$

6、修改phpcms/modules/link/templates/link_edit.tpl.php大约11行中的正则

^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&](2)$

修改为:

^http[s]?://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&](2)$

7、修改phpcms/modules/link/index.php大约41行和51行中的正则

/http://(.*)/i

修改为:

/^http[s]?://(.*)/i

8、修改phpcms/libs/functions/global.func.php

大约738行的正则

$url = str_replace(array('http://','//','~'), array('~','/','http://'), $url);

修改为

$url = str_replace(array('https://','//','~'), array('~','/','https://'), $url);

9、修改phpcms/modules/content/templates/content_list.tpl.php

大约97行

elseif(strpos($r['url'],'http://')!==false)

修改为

elseif(strpos($r['url'],'http://')!==false||strpos($r['url'],'https://')!==false)

10、修改phpcms/modules/content/templates/content_page.tpl.php

大约28行

if(strpos($category['url'],'http://')===false)

修改为

if(strpos($category['url'],'http://')===false && strpos($category['url'],'https://')===false)

接着修改后台设置->基本设置 对应的css、js、图片、附件的路径全改为https

还有后台设置-> 站点管理 里面的站点域名http改为https

如果你的网站是使用了https 但是url没有显示绿色的安全 则需要在head头部代码 加入

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

最后更新站点首页,内容页,栏目页。

0371-56789390
公司地址

郑州市花园路东风路向西300路南弘熹台22层

联系我们