解決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了。希望官方推出正式版本解決方法。