解决Phpcms v9编辑器无法上传图片和附件BUG
2024-07-09 22:53:08
供稿:网友
CMS模板网为了避免黑客猜出我的管理地址,在后台-》设置-》相关设置-》安全设置里面填写了一个二级域名作为管理地址,并修改caches/configs/system.php 下的'admin_url' => 'admin.主域名.com', //允许访问后台的域名
但是出现了后台内容无法上传附件的问题,只要点击上传图片或附件就会卡死。
经过仔细分析发现BUG,首先按照官方设置了管理后台专用的二级域名后,其他的域名访问后台管理就会出现没有权限访问的提示,会不会上传图片的时候调用的编辑器地址依然用的是system.php里面'app_path' => 'http://www.主域名.com/',生成的地址呢,这样上传图片的时候,就会出现上传的时候打开页面没有权限卡死,通过一个网友在网站上发的博客,证实确实是这样BUG的产生,就是当管理员设置了专用的管理域名的时候,后台所使用的编辑器却还在使用主域名调用的编辑器,所以造成上传附件和图片没有权限。
解决办法
方法1
不使用专用的二级域名管理后台,放开权限。一切ok了
方法2
就是纠结必须用专用的二级域名管理后台。
1、修改system.php 在'app_path' => 'http://www.主域名.com/'下面添加一行
'up_path' => 'http://cp.vevb.com/',//后台域名配置地址
2、修改/phpcms/base.php
加入如下代码
//后台CKEditor地址
define('UP_PATH',pc_base::load_config('system','up_path'));
3、修改/phpcms/libs/classes/form.class.php
将
if($allowupload) $str .= "filebrowserUploadUrl : '".APP_PATH."index.php?m=attachment&c=attachments&a=upload&module=".$module."&catid=".$catid."&dosubmit=1',/r/n";
改为
if($allowupload) $str .= "filebrowserUploadUrl : '".UP_PATH."index.php?m=attachment&c=attachments&a=upload&module=".$module."&catid=".$catid."&dosubmit=1',/r/n";
经过这几部修改之后,就ok了
另外这个BUG还造成了使用专用后台二级管理域名的时候,无法保存远程图片的错误。希望官方抓紧修改这个bug,加上对后台专用二级域名的验证,再调用文本编辑器和远程图片保存的问题。