织梦会员前台无法上传图片的解决办法

织梦5.7会员中心,由于为了安全性问题,限制了注册会员在会员中心发布信息的时候上传图片,但是管理员登录会员中心发布信息的时候上传图片却不受影响。那该如何解决呢?下面我们来说明一下具体的解决方案。

首先,具体的问题为,注册会员点击图片上传,预览选择好本地图后点击上传到服务器上,会出现如下图所示结果:

 

图片上传失败,并无像正常上传图片后提交按钮跳转到相应的图像属性界面上,仅在当前窗口上弹出一个滚动条,上面的滚动条里面提示为“提示:需输入后台管理目录才能登陆”,但因滚动条高度受限制了所以我们看不到提示。想要查看具体的提升信息的话,请点击向下的滚动条一直往下,即可出现文字提示。如图:

现在知道具体原因后就容易解决问题了,直接搜索织梦网站程序文件夹下的全部包含“提示:需输入后台管理目录才能登陆“的文件,找到include\dialog\config.php文件。其中有段代码

1
2
3
4
5
6
7
8
9
10
11
12
13
//检验用户登录状态 
$cuserLogin = new userLogin(); 
if($cuserLogin->getUserID() <=0 ) 
if(emptyempty($adminDirHand)) 
ShowMsg("提示:需输入后台管理目录才能登录 请输入后台管理目录名:style='width:120px;' /> ", "javascript:;"); 
exit(); 
$gurl = "../../{$adminDirHand}/login.php?gotopage=".urlencode($dedeNowurl); 
echo "location='$gurl';"; 
exit(); 
}

 

将$cuserLogin = new userLogin();之后的代码进行注释后即可使注册会员正常上传图片,具体注释方法为:

以上方法虽然解决了注册会员不能上传图片的问题,但是因为注释了该部分代码,导致了任何人都可以通过点击浏览服务器,查看到uploads目录下的全部目录及文件,大大降低网站的安全性,所以需要进行安全性修复。

导致问题的根源在于浏览服务器功能降低了网站的安全性,而该功能基本上没有任何用处,那最简单的解决方案就莫过于直接取消这项功能。具体方法为,打开include\ckeditor\config.js文件,注释掉以下代码:

  /*config.filebrowserImageBrowseUrl = "../include/dialog/select_images.php";*/

浏览服务器安全漏洞解决

以上图片为注释浏览服务器功能后的最终效果图。