建站帮助

诚信合作, 高质专业!

Phpcms v9安全域名HTTPS改造SSL组件更新

2020-04-17 15:49:55 浏览 我要评论

大家或许知道,本身Phpcms v9的一些写法最初没有考虑https网址,于是需要改造内部的一些函数写法,在之前的文档Phpcms v9配置ssl证书让做到https访问的方法Phpcms v9安全通道HTTPS内部程序改造里边,具体讲述了Phpcms v9 SSL证书的配置和内部程序方法的改造问题,今天CMSYOU在这里分享一处关于https网址写法bug的更新。

这一处更新是最近发现的:对应已经发布的文章,再次编辑修改的时候,如果编辑器里边有图片,在提交保存的时候会将图片无判断本站图片而再次保存下来,造成图片重复保存上传。

这一Bug是基于内容字段开启了编辑器保存远程图片,具体设置在内容 > 内容相关设置 > 模型管理里边设置,截图如下:

Phpcms v9安全域名HTTPS改造SSL组件更新

位置:内容 > 内容相关设置 > 模型管理 > 模型字段管理

Phpcms v9安全域名HTTPS改造模型字段管理

Phpcms v9模型字段内容content,属于editor类型,是否保存远程图片:是

如上图,如果勾选了保存远程图片,则会在启用https后出现上述的重复上传附件的Bug问题。

如果修正Phpcms v9编辑器内容重复上传图片的Bug?

具体修改phpcms的attachment附件类函数:phpcms/libs/classes/attachment.class.php文件中的function download()方法。

具体修改代码:

foreach($remotefileurls as $k=>$file) {

if(strpos($file, '://') === false || strpos($file, $upload_url) !== false) continue;

……

}

修改为:

foreach($remotefileurls as $k=>$file) {

//判断是否同一域名,避免重复上传编辑器中的图片 @cmsyou

$filehost = parse_url(strtolower($file));

$uploadhost = parse_url(strtolower($upload_url));

if(strpos($file, '://') === false || strpos($file, $upload_url) !== false || $filehost['host'] == $uploadhost['host']) continue;

……

}

另外需要修改function fillurl()函数中的http://网址判断写法,做到更加完善。此更新已经更新到Phpcms v9安全通道HTTPS内部程序改造里边,欢迎已购买的用户联系下载更新使用。

我要收藏
点个赞吧

相关阅读

本月热门

精选推荐

在线客服

扫一扫,关注我们

扫一扫,关注我们