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

作者:欧阳 发布时间:2020年05月20日 阅读: 2,912 分类:发现分享

  • PHPCMS对应已经发布的文章,再次编辑修改的时候,如果编辑器里边有图片,在提交保存的时候会将图片无判断本站图片而再次保存下来,造成图片重复保存上传。
  • 这一Bug是基于内容字段开启了编辑器保存远程图片,具体设置在内容 > 内容相关设置 > 模型管理 > 模型字段管理, 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;
……
}

文章来源:[[Phpcms v9安全域名HTTPS改造SSL组件更新]][1]

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

标签: phpcms

添加新评论 »