解决Phpcms v9编辑器无法上传图片和附件BUG

 我为了避免黑客猜出我的管理地址,在后台-》设置-》相关设置-》安全设置里面填写了一个二级域名作为管理地址,并修改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.dzhaofang.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,加上对后台专用二级域名的验证,再调用文本编辑器和远程图片保存的问题。

发表评论
验证码: 点击我更换图片