解决Phpcms v9 二级域名作为管理地址后,编辑器无法上传图片和附件BUG
2024-07-09 22:53:02
供稿:网友
很多PHPCMS用户为避免黑客猜出PHPCMS的管理地址,提高后台安全性而采用一个二级域名作为管理地址,但是设置后会出现了后台内容无法上传附件的问题BUG。为此,CMS模板网根据站长朋友的反馈,整理一个可用的解决Phpcms v9 二级域名作为管理地址后,编辑器无法上传图片和附件BUG的方法。
我为了避免黑客猜出我的管理地址,在后台-》设置-》相关设置-》安全设置里面填写了一个二级域名作为管理地址,并修改caches/configs /system.php 下的'admin_url' => 'admin.主域名.com', //允许访问后台的域名
但是出现了后台内容无法上传图片和附件的问题,只要点击上传图片或附件就会卡死。
经过仔细分析发现BUG,首先按照官方设置了管理后台专用的二级域名后,其他的域名访问后台管理就会出现没有权限访问的提示,会不会上传图片的时候调用的编辑器地址依然用的是system.php里面'app_path' => 'http://www.主域名.com/',生成的地址呢,这样上传图片的时候,就会出现上传的时候打开页面没有权限卡死,通过一个网友在网站上发的博客,证实确实是这样BUG的产生,就是当管理员设置了专用的管理域名的时候,后台所使用的编辑器却还在使用主域名调用的编辑器,所以造成上传附件和图片没有权限。
解决办法
方法1
不使用专用的二级域名管理后台,放开权限。一切ok了
方法2
就是纠结必须用专用的二级域名管理后台。
1、修改/caches/configs/system.php 在'app_path' => 'http://www.主域名.com/'下面添加一行
'up_path' => 'http://admin.phpcms.cn/',//后台域名配置地址
复制代码
(说明:上面域名部分添写你的后台管理二级域名。)
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了。希望官方推出正式版本解决方法。